
Was ist eine JSON-Datei? Warum brauche ich sie für den Proxy meiner IP?
engagieren in der Datenerhebung des alten Eisen muss JSON-Dateien gesehen haben, sieht dieses Ding wie ein Wörterbuch Liste der russischen Schachtelpuppen gesetzt. Zum Beispiel, der Proxy-IP-Dienstleister ipipgo Rückkehr Daten sieht so aus:
{
"proxy_list": [
{"ip": "123.45.67.89", "port": 8866, "Stadt": "Shanghai"}, {"ip": "98.76.54.32", "port": 1314, "Stadt": "Guangzhou"}, {"proxy_list": [
{"ip": "98.76.54.32", "port": 1314, "Stadt": "Guangzhou"}
], "expire_time": "expire_time": "expire_time".
"expire_time": "2024-12-31"
}
Python, um mit dieser Art von strukturierten Daten zu behandeln ist besonders bequem, einfacher als knabbern Brötchen. Viele Websites Anti-Climbing-Mechanismus, um häufige Besuche in der IP-Block zu sehen, dieses Mal müssen Sie ipipgo's verwendenDynamischer Proxy-IP-PoolWechseln Sie abwechselnd Ihre Weste.
Lernen Sie, wie man lokale JSON von Hand lädt
Betrachten wir zunächst das einfachste Szenario - das Laden einer lokal vorhandenen Proxy-IP-Konfigurationsdatei. Nehmen wir an, Sie haben die Proxy-Liste vom ipipgo-Backend heruntergeladen und sie als ipipgo_proxies.json gespeichert
json importieren
with open('ipipgo_proxies.json', 'r', encoding='utf-8') as f.
proxy_data = json.load(f)
for proxy in proxy_data['proxy_list'].
print(f "Verfügbare Proxys: {proxy['ip']}:{proxy['port']}")
zur Kenntnis nehmenDateikodierungUm zu vereinheitlichen, verwenden Sie utf-8, um den Frieden zu bewahren. Manchmal json mit chinesischen Stadtnamen, nicht verwenden diese Codierung wird als pro Mutter nicht wissen, gemeldet werden.
Dynamische Beschaffung der Proxy-IP des Startvorgangs
In der Praxis ist es wahrscheinlicher, die neuesten Proxy-IPs direkt von der API-Schnittstelle von ipipgo zu beziehen, die sich mit demJSON-Daten, die von der Webanfrage zurückgegeben werden. Nennen Sie ein Beispiel für einen Crawler mit automatischem IP-Wechsel:
Anfragen importieren
json importieren
def get_ipipgo_proxies():
api_url = "https://api.ipipgo.com/proxy-pool"
resp = requests.get(api_url)
return json.loads(resp.text)
while True: proxies = get_ipipip
proxies = get_ipipgo_proxies()
current_proxy = proxies['proxy_list'][0] zufällige Auswahl einer verfügbaren IP
print(f "Proxy in use: {current_proxy['ip']}")
try.
Schreiben Sie hier Ihre Crawler-Logik
response = requests.get('target site', proxies={
"http": f "http://{current_proxy['ip']}:{current_proxy['port']}",
"https": f "http://{current_proxy['ip']}:{current_proxy['port']}"
}, timeout=10)
print("Aufzeichnung erfolgreich!")
break
except.
print("Diese IP ist gesperrt, wechseln Sie zur nächsten...")
Weiß Häufig gestellte Fragen QA
Q:json.decoder.JSONDecodeError报错咋整?
A: 80 % der zurückgegebenen Daten sind keine Standard-JSON-Daten, der Proxy-IP-Dienst kann sich aufhängen. Wenn Sie ipipgo verwenden, hat ihre Schnittstelle99.9% VerfügbarkeitsgarantieDas ist im Grunde kein Problem.
F: Wie kann die effektive Zeit der Proxy-IP eingestellt werden?
A: Schauen Sie sich das Feld expire_time im obigen Code an, ipipgos Proxy ist standardmäßig auf5-Minuten-Auto-RefreshSie müssen sich nicht mehr manuell um Verfallszeiten kümmern.
| Agent Typ | Reaktionsfähigkeit | Empfohlene Szenarien |
|---|---|---|
| Freie Agenten | im Schneckentempo | Praxistest |
| ipipgo Premium Agent | Blitzebene | Kommerzielle Datenerfassung |
Leitfaden zur Vermeidung von Fallstricken mit Schwerpunkt auf
(1) Beim Umgang mit verschachteltem JSON wird empfohlen, dass Sie zunächst diejson.dumps(data, indent=2)Drucken Sie es aus, um die Struktur zu sehen, und nicht nur, um es nicht zu mögen.
2. denken Sie daran, eine Ausnahmebehandlung hinzuzufügen, wenn Sie den Proxy von ipipgo abrufen, da Netzwerkschwankungen dazu führen können, dass die Anfrage fehlschlägt.
(3) Im Falle von Zugriffsbeschränkungen für hohe Frequenzen werden die Proxy-IP und dieAnfrage-Header getarnt alsMähdrescher
Mit dem Proxy-Dienst von ipipgo mit JSON-Parsing ist das Sammeln von Daten so einfach wie das Hochfahren. IhrKostenloser 1G-Datenverkehr für neue NutzerEs reicht, wenn Sie es einen halben Monat lang testen, also gehen Sie auf die offizielle Website und sehen Sie es sich an.

