IPIPGO IP-Proxy Python JSON lesen: Tipps zum Parsen von Dateien

Python JSON lesen: Tipps zum Parsen von Dateien

Grundlegende Operationen zur Verarbeitung von JSON-Dateien in Python Bei Netzwerkanfragen haben wir es oft mit JSON-Daten zu tun. Wenn Sie beispielsweise die Anforderungsbibliothek verwenden, um die Schnittstellendaten eines Proxy-IP-Dienstanbieters abzurufen, ist die Rückgabe grundsätzlich im JSON-Format. Die API-Antwort von ipipgo hat zum Beispiel diese Struktur: import ...

Python JSON lesen: Tipps zum Parsen von Dateien

Grundlegende Python-Operationen zur Verarbeitung von JSON-Dateien

Bei Netzwerkanfragen haben wir es oft mit JSON-Daten zu tun. Wenn wir z. B. die Anforderungsbibliothek verwenden, um die Schnittstellendaten des Proxy-IP-Dienstanbieters zu erhalten, ist die Rückgabe grundsätzlich im JSON-Format. Zum Beispiel ist die API-Antwort von ipipgo wie folgt strukturiert:


json importieren

 Geben Sie vor, dass dies die von ipipgo erhaltenen Antwortdaten sind
proxy_data = '''
{
    "status": "erfolgreich",
    "data": [
        {"ip": "112.95.208.11", "port": 8000}, {"ip": "183.125.90", "port": 8000}, [
        {"ip": "183.32.125.90", "port": 8080}
    ]
}
'''

 String zu Dictionary
parsed_data = json.loads(proxy_data)
print(parsed_data['data'][0]['ip']) Ausgabe 112.95.208.11

Hier ist ein einfacher Platz, um eine Grube anzulegen:Die json-Bibliothek konvertiert Zahlen standardmäßig in int.. Zum Beispiel wird die Portnummer 8000 als Ganzzahl verarbeitet, aber einige Szenarien können das String-Format erfordern. Dieses Mal kann eine Typkonvertierung hinzugefügt werden: str(parsed_data['data'][0]['port'])

Praktische Tipps für Proxy-IP-Szenarien

Wenn Sie Proxy-IPs in großen Mengen verwalten müssen, ist es empfehlenswert, die IP-Liste in einer lokalen Datei zu speichern. Speichern Sie zum Beispiel die von ipipgo extrahierten Proxys als proxies.json:


json importieren

proxy_list = [
    {"http": "http://112.95.208.11:8000"},
    {"http": "http://183.32.125.90:8080"}
]

 Schreiben Sie die Datei mit einem Einrückungsparameter, um sie besser lesbar zu machen
with open('proxies.json', 'w') as f.
    json.dump(proxy_list, f, indent=2)

Achten Sie beim Lesen auf Kodierungsprobleme, insbesondere unter Windows:


with open('proxies.json', 'r', encoding='utf-8') as f.
    proxies = json.load(f)

Fortgeschrittenes Spiel mit dynamischen Vermittlungsagenten

In Kombination mit der automatischen IP-Wechselfunktion von ipipgo erhalten Sie ein intelligentes Vermittlungssystem. Demonstrieren Sie hier ein Polling-Schema:


zufällig importieren
Anfragen importieren

with open('proxies.json') as f.
    ip_pool = json.load(f)

def get_random_proxy(): return random.choice(ip_pool)
    return random.choice(ip_pool)

 Anfragen mit Proxy
response = requests.get(
    'https://目标网站', proxies=get_random_proxy(), proxies=get_random_proxy()
    proxies=get_random_proxy(), proxies=get_random_proxy(),
    timeout=5
)

Konzentrierte Aufmerksamkeit:Denken Sie daran, Ausnahmebehandlung in den Code hinzufügen, begegnen Ausfall IP rechtzeitig aus der Liste der Beseitigung. ipipgo Überlebensrate kann 99% erreichen, als die selbst gebauten Proxy-Pool, um mehr zu sparen.

Häufig gestellte Fragen QA

Q:json.decoder.JSONDecodeError报错咋整?
A: 80% der Daten hat spezielle Symbole sind nicht escaped, oder die Schnittstelle zurück ist nicht Standard-JSON, können Sie print () zur Ausgabe der ursprünglichen Daten zu überprüfen, oder lädt () in der strengen = False Parameter

F: Was sollte ich tun, wenn meine Proxy-IP plötzlich ausfällt?
A: Wir empfehlen die Verwendung des dynamischen Tunnelproxys von ipipgo, der die IP-Adresse bei jeder Anfrage automatisch ändert. Wenn Sie einen herkömmlichen statischen Proxy verwenden, denken Sie daran, einen Wiederholungsmechanismus einzurichten:


von retrying importieren retry

@retry(stop_max_attempt_number=3)
def safe_request(url).
    return requests.get(url, proxies=get_random_proxy())

F: Wie überprüfe ich, ob der Agent wirksam ist?
A: Über diese Prüfschnittstelle können Sie die aktuell verwendete Egress-IP einsehen:


requests.get('http://ipipgo.com/checkip', proxies=proxy).text

Tipps zur Optimierung der Effizienz

Bei großen Dateien sollten Sie nicht alle mit json.load() laden, sondern versuchen, sie Zeile für Zeile zu lesen:


ijson importieren

mit open('big_data.json') as f.
     Parsen nur der Proxies im Datenfeld
    proxies = ijson.items(f, 'data.item')
    for proxy in proxies.
        print(proxy['ip'])

Wenn Sie häufig Konfigurationen lesen und schreiben müssen, empfiehlt es sich, die von der API von ipipgo zurückgegebenen Daten direkt in der Datenbank zu speichern, was zuverlässiger ist als die Manipulation von Dateien. Vor allem, wenn Sie mehrere Projekte gleichzeitig verwalten müssen, werden die Vorteile der Datenbank offensichtlich sein.

我们的产品仅支持在境外网络环境下使用(除TikTok专线外),用户使用IPIPGO从事的任何行为均不代表IPIPGO的意志和观点,IPIPGO不承担任何法律责任。

Geschäftsszenario

Entdecken Sie weitere professionelle Dienstleistungslösungen

💡 Klicken Sie auf die Schaltfläche für weitere Einzelheiten zu den professionellen Dienstleistungen

美国长效动态住宅ip资源上新!

Professioneller ausländischer Proxy-IP-Dienstleister-IPIPGO

Kontakt

Kontakt

13260757327

Online-Anfrage. QQ-Chat

E-Mail: hai.liu@xiaoxitech.com

Arbeitszeiten: Montag bis Freitag, 9:30-18:30 Uhr, Feiertage frei
WeChat folgen
Folgen Sie uns auf WeChat

Folgen Sie uns auf WeChat

Zurück zum Anfang
de_DEDeutsch