"Rüzgarda eğilen kamış, güçlü meşeden daha güçlüdür." Nil boyunca bilgeler böyle konuştular, bize uyum sağlamanın değerini öğrettiler - internetin taşkın yataklarında olduğu kadar Mısır'ın nehir kıyılarında da geçerli bir içgörü. Ücretsiz proxy listelerini filtrelerken, bilge uygulayıcı, gerçeği yanılsamadan ayırmak için araçları ve yöntemleri uyarlayarak, sürekli değişen hız ve anonimlik rüzgarlarına boyun eğmelidir.
Ücretsiz Proxy Listelerini Anlamak: Serap ve Vaha
Ücretsiz proxy listeleri bol miktarda bulunur, ancak çölde olduğu gibi her vaha saf su sunmaz. Birçok proxy yavaş, güvenilmez veya daha kötüsü—tehlikelidir. Zorluk, bu listeleri hem çöl rüzgarı kadar hızlı hem de Sfenks kadar anlaşılmaz proxy'ler için filtrelemektir.
Temel Kriterler: Hız ve Anonimlik
Kriter | Tanım | Önemi |
---|---|---|
Hız | Proxy'nin gecikmesi ve bant genişliği | Gecikmeleri azaltır |
Anonimlik | İstemci IP'sini gizleme, sızıntıları önleme yeteneği | Gizliliği garanti eder |
Çalışma süresi | Proxy'nin kullanılabilir olduğu zaman yüzdesi | Güvenilirlik |
Konum | Proxy sunucusunun coğrafi konumu | Coğrafi engelleri aş |
HTTPS Desteği | Güvenli trafiği tünelleme yeteneği | Güvenlik |
Adım Adım Filtreleme İşlemi
1. Proxy Listesinin Toplanması
Atasözü: "Yabancının haritasına güvenen, sonsuza kadar kumullarda dolaşabilir."
Proxy listelerini yalnızca saygın kaynaklardan edinin. Açık forumlarda veya doğrulanmamış toplayıcılarda yayınlanan listelerden kaçının, çünkü bunlar genellikle zehirlidir.
Önerilen Kaynaklar:
– Ücretsiz Proxy Listesi (SSLProxies.org)
– Casuslar.Bir
– Proxy Kazıma
Uç: İşlem kolaylığı için listeleri CSV veya TXT formatında indirin.
2. Ayrıştırma ve İlk Filtreleme
Fıkra: İlk zamanlarımda, sonsuz proxy'leri elle test ederdim—boşuna bir çaba. Otomasyon, sonunda kurtuluşumu yazdığım papirüstümdü.
Python'u Ayrıştırmak ve Yinelenenleri Kaldırmak İçin Kullanma
pandas'ı pd olarak içe aktar # Proxy listesini yükle df = pd.read_csv('proxies.csv', names=['IP', 'Port', 'Kod', 'Ülke', 'Anonimlik', 'Https']) # Yinelenenleri kaldır df = df.drop_duplicates(subset=['IP', 'Port']) # HTTPS desteği ve yüksek anonimlik için filtre filtered = df[(df['Https'] == 'yes') & (df['Anonymity'].str.contains('elite', case=False))] filtered.to_csv('filtered_proxies.csv', index=False)
3. Hız Testi
Kadim Bilgelik: "En hızlı at bile yanlış yöne koşarsa işe yaramaz."
Gecikme ve bant genişliğini ölçerek proxy'lerin hızını test edin.
Otomatik Hız Testi
Python'un istekler
Ve zaman
modüller yanıt sürelerini kontrol etmek için kullanılabilir.
istekleri içe aktar zamanı içe aktar proxy'ler = [('123.123.123.123', '8080'), ('124.124.124.124', '3128')] # Örnek liste def test_proxy(ip, port): proxy = f"http://{ip}:{port}" proxy'ler = {'http': proxy, 'https': proxy} dene: başlat = time.time() yanıt = istekler.get("https://httpbin.org/ip", proxy'ler=proxies, zaman aşımı=5) gecikme = time.time() - başlat yanıt.durum_kodu == 200 ise: gecikmeyi döndür hariç: Hiçbiri döndür en hızlı = [] ip, port için proxy'lerde: gecikme = test_proxy(ip, port) gecikme ve gecikme < 1 ise: # 1 saniyenin altındaki gecikme süresine sahip proxy'ler için filtre en hızlı.append((ip, port, gecikme)) print(sıralı(en hızlı, anahtar=lambda x: x[2]))
Bant Genişliği Testi (İsteğe bağlı, Gelişmiş)
Bant genişliği için sabit boyutlu bir dosya indirin ve aktarımı zamanlayın. Sık sık test yapmanın IP'nizin engellenmesine neden olabileceğini unutmayın.
4. Anonimlik Düzeyinin Doğrulanması
Üç ana proxy türü vardır:
Anonimlik Türü | Davranış | İstemci IP'sini ortaya çıkarır mı? | Proxy Kullanımını Açıklar mı? |
---|---|---|---|
Şeffaf | Gerçek IP'yi geçer | Evet | Evet |
Anonim | Gerçek IP'yi gizler, proxy kullanımını gösterir | HAYIR | Evet |
Elit (Yüksek) | Gerçek IP'yi gizler, proxy bayrağı yok | HAYIR | HAYIR |
Anonimlik Testi
Şu hizmetleri kullanın: Whoer.net veya IP-API kontrol etmek için:
def check_anonymity(ip, port): proxy = f"http://{ip}:{port}" proxies = {'http': proxy, 'https': proxy} try: resp = requests.get("https://httpbin.org/get", proxies=proxies, timeout=5) data = resp.json() # 'Via' veya 'X-Forwarded-For' gibi başlıkların mevcut olup olmadığını kontrol et headers = data['headers'] if 'Via' if if 'X-Forwarded-For' if if if 'Elite' elif if 'X-Forwarded-For' in headers: return 'Anonymous' else: return 'Transparent' except: return 'Failed'
5. Sürekli İzleme ve Bakım
Hikaye: Kayan kumlar gibi, proxy performansı da zamanla değişir. Bugün işe yarayan şey yarın başarısız olabilir.
Düzenli Testlerin Planlanması
Cron işleri veya Windows Görev Zamanlayıcısı kullanarak periyodik kontrolleri (örneğin, saatlik veya günlük) otomatikleştirin. Çalışma listenizden ölü veya yavaş proxy'leri kaldırın.
Özet Tablosu: İş Akışını Filtreleme
Adım | Araç/Yöntem | Ana Eylem | Çıktı |
---|---|---|---|
Listeyi topla | Manuel/Otomatik | Güvenilir kaynaklardan indirin | Ham proxy listesi |
Ayrıştırma ve Kopyalama | Python/Pandalar | Yinelenenleri ve geçersiz satırları kaldırın | Temizlenmiş proxy listesi |
Hız Testi | Python/İstekler | Gecikmeyi ölçün | Hızlı proxy'ler (<1s gecikme) |
Anonimlik Testi | httpbin/IP-API | Elit/anonim olup olmadığını kontrol edin | Son derece anonim proxy'ler |
Bakım | Otomasyon | Düzenli tekrar testler | Güncellenmiş, güvenilir proxy listesi |
Pratik Örnek: Tam Filtreleme Komut Dosyası
Aşağıda, hız ve anonimlik için proxy'leri filtrelemeye yönelik tam iş akışını gösteren basitleştirilmiş bir betik bulunmaktadır.
pandas'ı pd olarak içe aktar istekleri içe aktar zamanı içe aktar # Proxy listesini yükle ve temizle df = pd.read_csv('proxies.csv', names=['IP', 'Port', 'Kod', 'Ülke', 'Anonimlik', 'Https']) df = df.drop_duplicates(subset=['IP', 'Port']) df = df[(df['Https'] == 'yes') & (df['Anonymity'].str.contains('elite', case=False))] # Hızı ve anonimliği test et def test_proxy(ip, port): proxy = f"http://{ip}:{port}" proxies = {'http': proxy, 'https': proxy} try: start = time.time() resp = istekler.get("https://httpbin.org/get", proxy'ler=proxies, zaman aşımı=5) gecikme = time.time() - başlangıç başlıkları = resp.json()['başlıklar'] gecikme < 1 ise ve 'Via' başlıklarda değilse ve 'X-Forwarded-For' başlıklarda değilse: gecikmeyi döndür, ancak: Hiçbiri döndür df['Gecikme'] = df.apply(lambda satır: test_proxy(satır['IP'], satır['Bağlantı Noktası']), eksen=1) filtrelenmiş = df[df['Gecikme'].notnull()] filtrelenmiş = filtrelenmiş.sort_values('Gecikme') filtrelenmiş.to_csv('elite_fast_proxies.csv', dizin=False)
Bilgelik Özeti: Elek ve Dere
Nil'de altın aramanın kadim sanatında olduğu gibi, sabır ve metodik filtreleme en büyük müttefiklerinizdir. Güvenilir kaynakları kullanarak, testlerinizi otomatikleştirerek ve hız ve anonimlik ikili sütunlarına odaklanarak, dijital kervanınızın internetin sonsuz kumlarında hızlı, güvenli ve görünmez olmasını sağlarsınız.
Yorumlar (0)
Burada henüz yorum yok, ilk siz olabilirsiniz!