
Bringt euch bei, die Proxy-IP an den Crawler zu hängen!
Wenn wir Datenerfassung zu tun, die meisten Kopfschmerzen ist es, die Ziel-Website blockiert IP werden, dieses Mal müssen Sie den Crawler eine "Weste" zu geben - das heißt, die Proxy-IP. heute nehmen wir die häufigste Python-Crawler als Beispiel, lernen Sie, wie man das Programm geben, um eine Weste zu tragen.
Schritt 1: Besorgen Sie sich eine zuverlässige Proxy-IP
empfohlenipipgoDie dynamische Wohn-IP der Familie ist mit mehr als 7 $ für 1 GB Datenverkehr recht kostengünstig. Ihre Heimat-IP-Pool ist groß, mehr als 200 Ländern auf der ganzen Welt Carrier-Ressourcen, ist die Wahrscheinlichkeit, blockiert zu werden viel niedriger. Ich werde mich darauf konzentrieren, wie man eine IP zu bekommen:
Einfuhrgesuche
Abrufen des Proxys von der API von ipipgo
api_url = "https://api.ipipgo.com/getproxy"
params = {
"type": "dynamisch",
"Anzahl": 5,
"protocol": "http"
}
response = requests.get(api_url, params=params)
proxies = response.json()['data']
Dieser Code kann 5 dynamische Wohn-IPs auf einmal annehmen. Beachten Sie, dass Sie ihn bei der tatsächlichen Verwendung durch Ihren eigenen API-Schlüssel ersetzen müssen. Ihr Home-Client kann die Proxy-Liste auch direkt exportieren, was für Neulinge angenehmer ist.
Schritt 2: Anbindung eines Proxys an die Anforderungsbibliothek
Wenn Sie eine Proxy-IP-Adresse erhalten haben, können Sie sie in der Regel wie folgt konfigurieren:
Sitzung = Anfragen.Sitzung()
proxy = "http://用户名:密码@ip adresse:port"
try.
response = session.get('Ziel-URL', proxies={'http': proxy}, timeout=10)
print(antwort.text)
except Exception as e.
print(f "Diese IP funktioniert nicht gut, wechseln Sie zur nächsten: {str(e)}")
Beachten Sie, dass Sie hier ausfüllen müssenNutzername und Passwort(ipipgo kann im Hintergrund generiert werden), verwenden Sie nicht direkt die bloße IP. Timeout oder 403-Fehler, schnell die IP ändern, nicht sterben.
Tipps zur Proxy-IP-Rotation
Mit einer einzigen IP ist leicht zu finden, müssen Sie lernen, Guerillakrieg zu spielen. Hier ist ein einfaches Rotationsschema:
von itertools importieren Zyklus
proxy_pool = cycle(proxies) Geben Sie die Liste der Proxys ein, die Sie erhalten haben.
for page in range(1, 100): current_proxy = next(proxy_pool)
aktuell_proxy = next(proxy_pool)
try.
res = requests.get(url, proxies={'http': current_proxy})
Daten verarbeiten...
except.
print(f "Skip failed proxy: {current_proxy}")
Dadurch werden die IPs im Proxy-Pool automatisch durchlaufen, und es wird empfohlen, dass Sie Ihre IP alle 3-5 erfolgreichen Anfragen aktiv ändern, anstatt zu warten, bis Sie blockiert werden.
Gemeinsame Rollover-Szene QA
F: Warum ist sie immer noch blockiert, auch wenn ich den Proxy abgehängt habe?
A: Zwei Möglichkeiten: 1. die Zielseite hat eine HTTP-Header-Anomalie entdeckt 2. die Qualität der Proxy-IP ist nicht gut. Es wird empfohlen, einen zufälligen User-Agent in den Code einzufügen und gleichzeitig auf ipipgo'sStatische IP-Adresse des Wohnsitzes(Teurer, aber stabiler)
F: Proxy IP zeigt Erfolg an, kann aber keine Daten empfangen?
A: Zu 80% hat der Proxy-Server die Whitelist nicht geöffnet. Gehen Sie in den Hintergrund von ipipgo, um die lokale IP zur Whitelist hinzuzufügen, oder verwenden Sie die Familie derClient-DirektmodusDiese ist die am wenigsten problematische.
F: Muss ich verschiedene Agenten für verschiedene Standorte ändern?
A: Fangen Sie inländische Websites mit der IP des lokalen Betreibers ab, für Websites aus Übersee empfiehlt sich die Verwendung von ipipgo'sgrenzüberschreitende FachlinieIch bin mir nicht sicher, ob ich dazu in der Lage sein werde. Wenn Sie Google Crawler verwenden, denken Sie daran, das TK-Paket zu wählen.
Leitfaden zur Paketauswahl
Wählen Sie ein Paket, das Ihren geschäftlichen Anforderungen entspricht (die Preise können sich ändern und basieren auf der offiziellen Website):
| Geschäftsart | Empfohlene Pakete | durchschnittliche Tageskosten |
|---|---|---|
| Datenerfassung | Dynamisches Wohnen (Standard) | Etwa $0,25/GB |
| Registrierung eines Kontos | Statische Häuser | Etwa $1,16/IP |
| Crawler aus Übersee | grenzüberschreitende Fachlinie | Kontaktieren Sie den Kundendienst für ein Angebot |
Und schließlich sollten Sie eine Proxy-IP verwenden, um die Robots-Vereinbarung der Website einzuhalten. Wenn Sie auf komplexe Anti-Climbing-Strategien stoßen, können Sie sich direkt an den technischen Support von ipipgo wenden, um das Programm anzupassen; sie können verschiedene IP-Kombinationen entsprechend dem spezifischen Geschäft anpassen, viel besser als ihre eigene Blindfaltung.

