
Praktische Übungen zur Verwendung von Proxy-IP zum sicheren Sammeln von Twitter-Daten
Kürzlich beschwerten sich viele meiner Freunde auf dem Überseemarkt bei mir, dass die Verwendung von Skripten zur Erfassung von Twitter-Daten zu einer IP-Sperre führen würde.ipipgoDer dynamische IP-Pool ist die einzige Komplettlösung. Heute werde ich meine Erfahrungen aus der Praxis aufschlüsseln und sicherstellen, dass Sie nach der Lektüre mit der Twitter-Datenerfassung spielen können.
Warum ist Ihr Crawler immer blockiert?
Der Anti-Crawl-Mechanismus von Twitter ist schlauer als seine eigenen Chefs und starrt auf drei Hauptmetriken:
| Überwachungselement | gemeinsames Minenfeld | eine Angelegenheit regeln |
|---|---|---|
| Häufigkeit der IP-Anfragen | 10 Anfragen in 1 Sekunde | Kontrolle 5 Sekunden/Zeiten |
| IP-Geolokalisierung | Pekings IP durchforstet US-Tweets in der morgendlichen Aufregung | Nutzung der lokalen IP-Adresse für Wohnzwecke |
| Benutzer-Agent | Alle Anfragen werden mit demselben Browser identifiziert | Zufälliges Umschalten von Gerätemodellen |
Dynamisches IP-Pooling ist das einzig Wahre
Früher war die Verwendung einer festen Proxy-IP so, als ob man mit einem Mackintosh duschen würde - man musste sich nass machen. Dann wechselte ich zuipipgoDie Wohn-dynamische IP, jede Anfrage automatisch die reale Benutzer-IP. gemessen 12 Stunden kontinuierliche Erfassung, die Erfolgsquote ist stabil bei 98% oder mehr.
importiert Anfragen
von itertools importieren Zyklus
Die Adresse des von ipipgo bereitgestellten Proxy-Pools
proxy_pool = [
'103.21.163.76:8000',
'45.89.123.142:3128', '198.55.112.89:8080', '198.55.112.89:8080'
'198.55.112.89:8080'
]
proxies = cycle(proxy_pool)
for page in range(1, 100): current_proxy = next(proxies)
aktuell_proxy = next(proxies)
aktuell_proxy = next(proxies)
Antwort = requests.get(
'https://api.twitter.com/xxx', proxies={'http': current_proxy}, current_proxy = next(proxies)
proxies={'http': current_proxy},
timeout=10
)
Daten verarbeiten...
except Exception as e.
print(f "IP ändern, um fortzufahren: {current_proxy} kneeling")
Ein Leitfaden zur Vermeidung von Fallstricken (ein Muss für Anfänger)
Verwenden Sie keine IP eines Rechenzentrums!Twitter erkennt jetzt Serverraum-IP-Segmente, und die Verwendung solcher IPs ist gleichbedeutend mit einer Selbstzerstörung. Vorgeschlagene AuswahlmöglichkeitenipipgoBei den IP-Paketen für Privatkunden handelt es sich um echte Breitbandanschlüsse für den Heimgebrauch, die persönlich auf ihre Wirksamkeit getestet wurden.
Die Abfrageintervalle sollten nicht zu regelmäßig sein, denn alle menschlichen Bediener haben zittrige Hände. Es wird empfohlen, eine zufällige Verzögerung zu verwenden:
zufällig importieren
Zeit importieren
Nach dem Zufallsprinzip 3-8 Sekunden warten
time.sleep(random.randint(3,8))
QA Erste-Hilfe-Kasten
F: Warum werde ich mit einer Proxy-IP immer noch blockiert?
A: 80 % der IP-Qualität ist nicht gut, oder die Anfragefrequenz ist zu hoch. Ersetzen Sie sie durchipipgoeines Pools hochwertiger IPs, wobei das Anforderungsintervall auf 5 Sekunden oder mehr erhöht wird.
F: Wie viele IPs sind erforderlich, um ausreichend zu sein?
A: 50 rotierende IPs sind ausreichend, wenn Sie 10.000 Daten pro Tag abrufen. Seien Sie nicht gierig.ipipgoDas Basispaket ist vollkommen ausreichend.
F: Was sollte ich tun, wenn ich auf ein CAPTCHA stoße?
A: Deaktivieren Sie sofort die aktuelle IP, ändern Sie die neue IP, um die Geschwindigkeit der Sammlung zu reduzieren. Wenn Sie es wirklich nicht bekommen können, können Sie mir eine private Nachricht schicken, um Ihnen eine geschmacklose Operation von Anti-CAPTCHA zu geben.
Sagen Sie die Wahrheit.
Glauben Sie nicht an diese kostenlosen Proxys, entweder ist die Geschwindigkeit langsam oder die Überlebenszeit ist kurz. Ich habe anfangs eine kostenlose IP verwendet, aber ich habe nicht viele Daten erhalten, aber ich wurde mit Mining-Skripten implantiert. Jetzt benutze ichipipgoDas monatliche Paket, 1G-Bandbreite + exklusive IP, kostete umgerechnet nur zwei Dollar pro Tag, viel billiger als der Kauf von Kaffee.

