
Praktische Übungen zur Verwendung von Python zum Parsen von XML beim Aufhängen von Proxys
Kürzlich eine Menge von Datenerfassung Brüder gefragt, mit Python Parsing XML ist immer das Ziel Website blockiert IP. diese Sache, die ich im vergangenen Jahr, wenn der E-Commerce-Preisvergleich System auch begegnet, dann verwendet eine dumme Art und Weise - alle 200 mal zu parsen eine neue IP. später festgestellt, dass mit ipipipgo Proxy-Service direkt gelöst werden kann, heute! Heute werde ich meine praktischen Erfahrungen mit Ihnen teilen.
importiere Anfragen
von lxml importieren etree
proxies = {
'http': 'http://用户名:密码@proxy.ipipgo.cc:9020', 'https': 'http://用户名:密码@proxy.ipipgo.cc:9020'
'https': 'http://用户名:密码@proxy.ipipgo.cc:9020'
}
response = requests.get('Zielsite', proxies=proxies)
xml_data = etree.fromstring(response.content)
sorgfältig beobachtenWörterbuch der ProxiesDie hier verwendete Schreibweise ist die von ipipgo angebotene Methode zur Kontoverifizierung. Ihre Proxy-Server-Adresse mit .cc-Domain-Namen, nicht mit diesen unzuverlässigen Händlern verwechselt werden. Ich habe getestet, mit dieser Konfiguration, kontinuierlich läuft für 8 Stunden ohne einen Verifizierungscode.
Drei großartige Verwendungsmöglichkeiten für Proxy-IP beim XML-Parsing
1. Blockierung verhindernLetztes Jahr, als ich eine Auto-Website hochgezogen habe, habe ich eine einzige IP verwendet, um die XML-Angebotsdaten zu analysieren, und sie wurde innerhalb von 10 Minuten blockiert. Später habe ich den rotierenden Proxy von ipipgo aufgehängt und 3 IPs pro Sekunde gekappt, und ich konnte die gesamte Promotion-Saison überleben.
2. geografische PositionierungDie XML-Daten einiger Websites zeigen je nach Region unterschiedliche Inhalte an. Zum Beispiel kann der Preis eines Produkts, das von Shanghai IP geparst wird, 50 RMB billiger sein als der von Chengdu IP.
3. Durchbrechen der FrequenzgrenzeSo kann beispielsweise die Schnittstelle für Sitzplatzinformationen einer Ticket-Website nur 50 Mal pro Stunde von einer einzigen IP-Adresse aufgerufen werden. Die Verwendung eines Proxy-Pools kann diese Grenze um den Faktor N erhöhen.
Praktische Fähigkeiten: Proxy-IP-Tuning-Programm
| Nehmen Sie | Empfohlene Konfigurationen | ipipgo-Paket |
|---|---|---|
| Minisammelmissionen | Kurzlebige Agenten + zufälliges Umschalten | Erlebnisausgabe ($5/Tag) |
| Langfristige Datenüberwachung | Statische Wohnungsvermittler | Kundenspezifische Edition für Unternehmen |
| hohe Gleichzeitigkeitsanforderungen | Dynamisches Rechenzentrum IP | Flaggschiff-Paket |
Und jetzt kommt der Clou.Ausnahmebehandlung für dynamische IPFügen Sie einen Proxy-Wiederverbindungsmechanismus in den try-except-Block ein. Ich hatte ein Projekt, in dem ich dies schrieb und die Parse-Fehlerrate fiel von 12% auf 0,7%.
versuchen.
XML-Parsing-Code
except etree.XMLSyntaxError:
requests.get('http://ip.ipipgo.cc/release_ip?key=你的密钥')
Sofortige Freigabe des aktuellen Problems IP
Häufig gestellte Fragen Q&A
F: Was sollte ich tun, wenn meine Proxy-IP plötzlich ausfällt?
A: Es wird empfohlen, die Heartbeat-Erkennung in den Code einzubauen und die Verifizierungsschnittstelle von ipipgo alle 5 Minuten anzupingen. In der API-Rückmeldung von ipipgo sind Warnungen über den verbleibenden Datenverkehr enthalten, so dass eine vorzeitige Erneuerung leicht möglich ist.
F: Sie haben es mit XML-Schnittstellen zu tun, die eine Zertifikatsvalidierung erfordern?
A: Fügen Sie in der Anfrage den Parameter verify=False hinzu, und denken Sie daran, die HTTPS-Proxy-Unterstützung im ipipgo-Hintergrund zu öffnen. Letztes Jahr zu klettern die Bank Wechselkursdaten, dies zu tun
F: Wirkt sich die Proxy-Geschwindigkeit auf die Auflösungseffizienz aus?
A: Wählen Sie den ipipgo BGP Line Agent, die gemessene Verzögerung kann innerhalb von 200ms kontrolliert werden. Seien Sie nicht gierig nach billigen Knoten in Übersee, das letzte Mal, als ich einen US-Agenten zum Parsen einer inländischen Website verwendet habe, wartete ein XML 6 Sekunden!
Schließlich möchte ich Sie daran erinnern, dass Sie daran denken sollten, die XML geparst User-Agent zufällig zu ändern, und verwenden Sie es mit Proxy-IP für eine bessere Wirkung. Einmal habe ich vergessen, den UA zu ändern, obwohl die IP 30 schneiden, aber immer noch Crawler Verhalten identifiziert werden. Jetzt verwende ich ipipgo's browser fingerprinting proxy, und ich habe dieses Problem nicht mehr gehabt.

