“"Nil Nehri sessizce akıp, toprağın sırlarını taşıdığı gibi, bizim verilerimiz de anonimliğin akıntısıyla korunarak ağda dolaşmalıdır."”
Proxy Havuzlarının Amacı ve Gücü
Antik dünyanın kumlu topraklarında, tüccarlar kervanlarını meraklı gözlerden korumak için gizli yollar kullanırlardı. Günümüzde ise proxy'ler benzer bir rol oynuyor: dijital adımlarınızı gizliyor, istekleri dağıtıyor ve hız sınırlayıcıların ve güvenlik duvarlarının sürekli gözetiminden kaçıyorlar.
Proxy havuzu, proxy sunucularından oluşan bir koleksiyondur. İstekleri birden fazla proxy üzerinden döndürerek, tespit, yasaklama ve darboğazlardan kaçınırsınız. Python ve Bash ile kendi proxy havuzunuzu oluşturmak, pahalı üçüncü taraf çözümlere güvenmenin aksine, size egemenlik, esneklik ve kontrol bilgeliği sağlar.
Tablo: Proxy Havuzu Yaklaşımları
Yaklaşmak | Artıları | Eksileri | Örnek Kullanım Örnekleri |
---|---|---|---|
Üçüncü Taraf API'leri | Kolay kurulum, yönetilen bakım | Pahalı, daha az kontrol, kara liste | Hızlı prototipleme |
Python ile Kendin Yap | Tam kontrol, uygun maliyetli | Bakım ve güvenilirlik gerektirir | Web kazıma, otomasyon |
Bash Komut Dosyası | Hafif, kolay entegrasyon | Daha az ölçeklenebilir, manuel yönetim | Hızlı görevler, sağlık kontrolleri |
Vekil Kaynakların Toplanması
“Bir büyüğüm bana bir zamanlar şöyle demişti: "Bilmediğin kuyudan su içme; vekalet kaynaklarını akıllıca seç.".
Ücretsiz Genel Proxy'ler
Bash: Proxy Listesini Getirme ve Ayrıştırma
curl -s https://www.sslproxies.org/ | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}:[0-9]+' > proxy'ler.txt
Ücretli Proxy Hizmetleri
Görev açısından kritik görevler için şu sağlayıcıları göz önünde bulundurun: https://brightdata.com/ veya https://www.oxylabs.io/. Daha yüksek güvenilirlik ve daha iyi anonimlik sunarlar.
Proxy'leri Doğrulama
Kadim bilgelik: "İnşa etmeden önce taşı dene."“
Python: Proxy Kullanılabilirliğini Kontrol Etme
import requests def is_proxy_working(proxy): try: response = requests.get('https://httpbin.org/ip', vekiller={'http': proxy, 'https': proxy}, zaman aşımı=5) return response.status_code == 200 except: return False # Dosyadan vekilleri oku open('proxies.txt') as f: proxies = [line.strip() for line in f] working_proxies = [p for p in vekiller if is_proxy_working(p)] with open('working_proxies.txt', 'w') as f: for p in working_proxies: f.write(f"{p}\n")
Python ile Dönen Proxy'ler
Kervanın sırrı: Aynı yolu iki kez gitmeyin.
Basit Proxy Rotator
open('working_proxies.txt') ile rastgele içe aktarma isteklerini f olarak içe aktarın: proxies = [line.strip() f'deki satır için] def get_random_proxy(): return random.choice(proxies) def fetch_with_proxy(url): proxy = get_random_proxy() deneyin: resp = requests.get(url, proxies={'http': proxy, 'https': proxy}, zaman aşımı=10) print(f"{proxy} kullanılıyor: {resp.status_code}") return resp.text except Exception as e: print(f"Proxy {proxy} başarısız oldu: {e}") return None # Örnek kullanım html = fetch_with_proxy('https://httpbin.org/ip')
Bash: Hızlı Proxy Sağlık Kontrolü
Eskiden zanaatkarların aletlerini tercih ettiği gibi komut satırını tercih edenler için:
proxy okunurken; zaman aşımı 5 curl -s --proxy $proxy https://httpbin.org/ip >/dev/null && echo "$proxy hayatta" yapıldı < proxies.txt
Proxy Havuzu Güncellemelerini Otomatikleştirme
Nil Nehri'nin yıllık taşkınları gibi, proxy'ler gelip geçer; otomasyon anahtardır.
Bash: Zamanlanmış Getirme ve Doğrulama
#!/bin/bash # Her gün yeni proxy'leri al curl -s https://free-proxy-list.net/ | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}:[0-9]+' > proxies.txt # Proxy'leri doğrula > working_proxies.txt proxy okunurken; zaman aşımı 5 curl -s --proxy $proxy https://httpbin.org/ip >/dev/null && echo "$proxy" >> working_proxies.txt tamamlandı < proxies.txt
Programla Kron
:
0 2 * * * /betik.sh/dosyanızın/yolu
Gelişmiş: Flask ile API aracılığıyla Proxy'lere Hizmet Verme
Firavun'un sarayında kaynaklara erişim tek bir kelimeyle sağlanırdı. Havuzunuz için bir API sağlayın:
Flask'tan Flask'ı içe aktarın, jsonify'dan random'u içe aktarın app = Flask(__name__) def get_proxies(): with open('working_proxies.txt') as f: return [line.strip() for line in f] @app.route('/get_proxy') def get_proxy(): proxy'ler = get_proxies() return jsonify({'proxy': random.choice(proxies)}) if __name__ == '__main__': app.run(port=5000)
Güvenlik, Etik ve En İyi Uygulamalar
- Proxy'leri asla yasa dışı veya etik olmayan amaçlar için kullanmayın.
- Kullanıcı aracılarını ve proxy'leri döndürün (sahte kullanıcı aracısı).
- IP yasaklarını izleyin ve havuzunuzu düzenli olarak yenileyin.
- Saygı robotlar.txt ve hedef site terimleri.
Temel Kaynaklar
- Python kütüphanesi talep ediyor
- Flask mikro web çerçevesi
- ücretsiz-proxy-listesi.net
- Parlak Veri
- Oksilablar
Eskiler ticari sırlarını nasıl korudularsa, siz de vekalet havuzunuzu öyle korumalısınız; onu korumalı, döndürmeli ve bilgelikle kullanmalısınız.
Yorumlar (0)
Burada henüz yorum yok, ilk siz olabilirsiniz!