
Bleibt Python beim Herunterladen von Bildern stecken? Versuchen Sie diesen Proxy-IP-Trick
Crawler Brüder haben es angetroffen? Wenn Sie die Requests-Bibliothek verwenden, um Bilder herunterzuladen, ist die IP plötzlich gesperrt, und Sie können die Daten nicht abrufen. Heute zeige ich Ihnen einen Joker - setzen Sie eine Proxy-IP in Ihr Python-Skript, besonders wenn Sie dieipipgoDer Heimdienst wurde getestet, um das 90%-Blockierungsproblem zu umgehen.
Wie genau verbinden Sie eine Proxy-IP mit dem Code?
Um es kurz zu machen, es ist nur das Hinzufügen eines Proxies-Parameters zu den Anfragen, um eine Kastanie zu geben:
Einfuhrgesuche
Tragen Sie hier die von ipipgo bereitgestellten Proxies ein.
proxies = {
'http': 'http://用户名:密码@gateway.ipipgo.com:端口', 'https': 'http://用户名:密码@gateway.ipipgo.com:端口'
'https': 'http://用户名:密码@gateway.ipipgo.com:端口'
}
response = requests.get('Bildadresse', proxies=proxies, timeout=10)
Speichern Sie die Datei
with open('demo.jpg', 'wb') as f.
f.write(response.content)
Hinweis! Viele Websites überprüfen den Request-Header. Es wird empfohlen, den User-Agent hinzuzufügen, um sich als Browser zu tarnen:
headers = {
User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) ...'
}
response = requests.get(url, headers=headers, proxies=proxies)
Warum empfehlen Sie den Proxy von ipipgo?
Nachdem ich mit sieben oder acht Vermittlungsdienstleistern gearbeitet habe, hat dieser die drei greifbarsten Vorteile:
1. die Abkommen sind voll aktiv
Unterstützung HTTP/HTTPS/Socks5 drei Mainstream-Protokolle, vor allem ihre grenzüberschreitende Linie, unter dem Übersee-Bild Geschwindigkeit kann auf 3MB/s + steigen!
2. automatische Umschaltung von IP-Pools
Dynamische Wohnpakete werden mit IP-Rotation geliefert, so dass Sie keine eigene Umschaltlogik schreiben müssen; besonders geeignet für Batch-Download-Szenarien
3) Vergleich der Paketpreise
| Paket Typ | Anwendbare Szenarien | Preis des Artikels |
|---|---|---|
| Dynamisches Wohnen (Standard) | Kleine und mittlere Bilderfassung | 7,67 $/GB |
| Statische Häuser | Dienste, die eine feste IP-Adresse erfordern | 35RMB/IP |
Leitfaden zur Vermeidung der Grube (Häufig gestellte Fragen QA)
F: Wurde der Proxy erfolgreich eingerichtet oder wurde er geblockt?
A: die Wahrscheinlichkeit ist, dass die IP-Qualität ist nicht gut, ändern ipipgo statische Wohn-Pakete, ihre IP-Überlebenszyklus ist 2-3 mal länger als die Gegenstücke
F: Was soll ich tun, wenn ich auf halbem Weg zum Download stecken bleibe?
A: Fügen Sie einen Wiederholungsmechanismus in den Code ein und überprüfen Sie den Status der Proxy-Verbindung. Der ipipgo-Client verfügt über eine Echtzeit-Verkehrsüberwachung, die den Problemknoten schnell lokalisieren kann.
F: Was ist, wenn ich Hunderte von Download-Aufgaben gleichzeitig erledigen muss?
A: Gehen Sie auf mehrere Threads! Achten Sie aber darauf, dass die Anzahl der Threads nicht die Gleichzeitigkeitsgrenze des Proxy-Pakets überschreitet. Verwenden Sie das Enterprise-Paket von ipipgo, das bis zu 500 Gleichzeitigkeiten unterstützt!
Erweiterte Tipps: Proxy-Pools intelligent umschalten
Diese Skriptvorlage wechselt automatisch die Proxys, wenn ein Download fehlschlägt, und kann direkt aus den Hausaufgaben kopiert werden:
von itertools importieren Zyklus
Liste der Proxys aus der ipipgo-API
proxy_list = [
'http://ip1:port',
'http://ip2:port', ...
... Mindestens 10 IPs vorbereiten
]
proxy_pool = cycle(proxy_list)
Wiederholungen = 3
for _ in range(retry): proxy = next(proxy_pool)
proxy = next(proxy_pool)
try.
response = requests.get(url, proxies={'http': proxy}, timeout=15)
if response.status_code == 200:: response.status_code
if response.status_code == 200: break
except Exception as e: print(f"{proxy}
print(f"{proxy} hängt, nächster...")
Und schließlich, verwenden Sie keine kostenlosen Proxys! Vor allem das nächste Bild dieser Traffic-verbrauchenden Betrieb, billig bezahlt Proxy sind zuverlässiger als frei. ipipgo neue Benutzer haben 5 Yuan Erfahrung Paket, versuchen Sie es selbst zu wissen, wo die Lücke.

