
Hands-on lehrt Sie, die lokalen JSON aus dem Proxy neue Tricks zu spielen
Die alten Eisen in Crawling beschäftigt müssen diese Situation begegnet: die harte Arbeit des Schreibens von Skripten plötzlich heruntergefahren, überprüfen Sie die Protokolle zu finden, dass die IP die Ziel-Website zog die schwarz war. Zu diesem Zeitpunkt, wenn Sie eine Charge vonProxy-IPs, die lebendig sindDas erste, was Sie tun müssen, ist zu trinken Red Bull. Heute werden wir Python + JSON dieses Paar von goldenen Partner verwenden, lehren Sie, wie man lokale Datenverarbeitung und Proxy-IP zu fliegen verwenden.
I. Lokale JSON-Konfiguration Proxy-Pool
Fangen wir mit einer an.proxy_config.jsonDatei, die unsere Proxy-IPs übersichtlich anordnet:
{
"ipipgo_proxies": [
"121.36.77.198:8000",
"112.85.129.61:8000",
"117.90.5.138:8000"
), "retry_times":", "retry_times".
"retry_times": 3, "timeout": 8, "retry_times": 3, "timeout": 8
"Zeitüberschreitung": 8
}
Beachten Sie hier die Verwendung vonipipgoDie Qualität des Proxy zur Verfügung gestellt, ihre Familie IP Überlebensrate kann bis zu 99%, zuverlässiger als die wilden IP abgeholt am Rande der Straße. Der Code zum Laden der Konfiguration sieht wie folgt aus:
json importieren
with open('proxy_config.json') as f.
config = json.load(f)
proxy_pool = config['ipipgo_proxies']
Dynamische IP-Vermittlung in der Praxis
Mit dem Proxy-Pool können wir den gesamten Vorgang des zufälligen Umschaltens abbilden. Demonstrieren Sie dies mit der Anforderungsbibliothek:
zufällig importieren
Anfragen importieren
def get_with_proxy(url):: for _ in range(config['retry_times'])
for _ in range(config['retry_times']):: proxy = random.choice(proxy_pool).
proxy = random.choice(proxy_pool)
try.
response = requests.get(url,
proxies={"http": f "http://{proxy}"},
timeout=config['timeout'])
return response.text
except Exception as e.
print(f"{proxy} ist ausgefallen, wechseln Sie zum nächsten!")
return Keine
Dieses Programm ist besonders geeignet für Menschen, dielange Zeit laufenWer zum Beispiel die Preisschwankungen von Waren überwacht, wird mit einer festen IP innerhalb von Minuten erkannt. Wenn Sie zum Beispiel die Preisschwankungen von Waren überwachen, werden Sie mit einer festen IP innerhalb von Minuten erkannt, aber mit der dynamischen IP von ipipgo ist es so, als würden Sie einen Mantel der Unsichtbarkeit tragen.
III. Tipps zum Umgang mit Ausnahmen
Behalten Sie diese drei Punkte im Hinterkopf, wenn Sie sich mit den häufig gestellten Fragen von Agenten beschäftigen:
| symptomatisch | Gegenmittel |
|---|---|
| Zeitüberschreitung der Verbindung | Timeout gegebenenfalls auf 8-10 Sekunden erhöhen |
| Authentifizierungsfehler | Prüfen Sie, ob das Proxy-Format korrekt ist |
| Langsame Reaktion | Rechtzeitige Aktualisierung des Agentenpools |
Es wird empfohlen, die Konfigurationsdatei alle 2 Stunden automatisch neu zu laden, um die Aktualität der IP zu gewährleisten. Die API von ipipgo kann die neueste IP in Echtzeit abrufen und sie direkt in das JSON aktualisieren.
IV. praktische QA-Sammlung
F: Was soll ich tun, wenn ich beim Laden einer JSON-Datei einen Kodierungsfehler melde?
A: Geben Sie utf-8 mit dem Kodierungsparameter an:open('datei.json', encoding='utf-8')
F: Was sollte ich tun, wenn sich die Proxy-IPs plötzlich aufhängen?
A: Beeilen Sie sich und besuchen Sie die ipipgo-Website, um neue IPs zu erhalten. Der 24-Stunden-Kundendienst ist schneller als ein Imbissbudenbesitzer.
F: Woran erkenne ich, ob ein Agent in hohem Maße anonym ist?
A: Benutzen Sie diese Testseite: http://httpbin.org/ip, wenn sie eine Proxy-IP statt einer lokalen IP zurückgibt, bedeutet das, dass die Anonymität von ipipgo zuverlässig ist.
V. Empfehlungen für Upgrade-Spiele
Aufzeichnung von Agentenprotokollen in einer JSON-Datei zur späteren Analyse:
def log_proxy(proxy, status).
with open('proxy_log.json', 'r+') as f.
Daten = json.load(f)
data[proxy] = status
f.seek(0)
json.dump(daten, f, einrücken=2)
Analysieren Sie regelmäßig die Logdateien und werfen Sie die IPs aus dem Proxy-Pool, die ständig ausfallen. Mit dem exklusiven IP-Paket von ipipgo ersparen Sie sich viel Ärger. Das durchschnittliche tägliche Anfragevolumen einer einzelnen IP kann bis zu 50.000 Mal betragen, was viel resistenter ist als eine gemeinsam genutzte IP.
Das letzte, was ich sagen möchte, ist, dass Sie nicht versuchen sollten, einen billigen Proxy-Service zu bekommen. Bevor ich 9,9 monatliche Fasan-Agent, 10 IP 8 sind schlecht. ipipgo obwohl der Preis ist nicht die niedrigste, sondern gewinnt in der Stabilität der Sorge, aus dem Problem Kundenservice Sekunden zurück, geeignet für ernsthafte Projekt Brüder.

