
Warum Yelp-Bewertungen in einem realen Szenario?
Ein Freund von mir, der ein Restaurant besitzt, kam kürzlich zu mir und sagte, er wolle das Kundenfeedback des Ladens sehen. Heutzutage reicht es nicht mehr aus, zu wissen, wie man kocht, man muss auch die echten Nutzerbewertungen herausfinden, um seinen Service zu verbessern. Es gibt Tausende von Bewertungen auf Yelp, sie manuell zu transkribieren kann anstrengend sein, also muss man eine automatische Erfassung nutzen.
Doch wenn der Crawler direkt geöffnet wird, kann die IP leicht blockiert werden, vor allem bei kontinuierlichen Anfragen. Letztes Jahr gab es einen Fall, bei dem eine Markenkette eine einzige IP-Adresse zur Datenerfassung verwendete und dadurch die Windsteuerung auslöste, was dazu führte, dass das gesamte Unternehmensnetz drei Tage lang ausgefallen war, was zu schweren Verlusten führte.
Wie können Proxy-IPs dies verhindern?
Hier ist eine.Wichtige WahrnehmungenDie Mechanismen zur Sperrung von Websites orientieren sich an zwei Hauptindikatoren: Häufigkeit der Besuche und IP-Spuren. Wie wenn Sie zur Bank gehen, um Geld abzuheben, der Zähler jeden Tag Hunderte von Menschen zu sehen, aber wenn die gleiche Person innerhalb von zehn Minuten wiederholt kommen, um Geschäfte zu machen, muss der Wachmann Aufmerksamkeit zu zahlen.
Die Nutzung des Proxy-Pooling-Dienstes von ipipgo ist so, als würden Sie jedes Mal, wenn Sie eine Bank betreten, Ihre Kleidung wechseln und sich verkleiden. Dies geschieht in drei Schritten:
importiert Anfragen
von itertools importieren Zyklus
Liste der Proxys von ipipgo
proxies = [
"http://user:pass@gateway.ipipgo:9020",
"http://user:pass@gateway.ipipgo:9021".
... Andere Knotenpunkte
]
proxy_pool = Zyklus(Proxies)
for page in range(1, 101): current_proxy = next(proxy_pool)
aktueller_Vollmacht = nächster(proxy_pool)
aktueller_proxy = nächster(proxy_pool)
resp = requests.get(
f "https://www.yelp.com/biz/xxx/review_feed?start={page20}",
proxies={"http": current_proxy}, timeout=8
timeout=8
)
Parsen der Datenlogik...
except Exception as e.
print(f "Rollover mit {current_proxy}: {str(e)}")
Praktischer Leitfaden zur Vermeidung der Grube
Denken Sie nicht, dass alles in Ordnung ist, nur weil Sie einen Agenten gefunden haben.Lektion gelernt durch Blut und Tränen::
1. keine kostenlosen Proxys verwenden (ganz zu schweigen von der langsamen Geschwindigkeit und der Möglichkeit, von einem Man-in-the-Middle angegriffen zu werden)
2) Ändern Sie den User-Agent zufällig für jede Anfrage, verwenden Sie nicht den Standard-Agent von Python.
3. den Rhythmus der Besuche zu kontrollieren, ist es empfehlenswert, dass jede Seite Intervall von 3-8 Sekunden zufälligen Ruhezustand
4. pausieren Sie sofort, wenn Sie auf das CAPTCHA stoßen, und versuchen Sie es erneut mit einer neuen IP.
Empfohlen für ipipgoLangfristige statische IP-Adresse für PrivatanwenderDiese Art von IP mit echten Breitbandattributen zu Hause ist schwieriger zu identifizieren als Serverraum-IPs. Der eigentliche Test mit seinem US-Wohnknoten, kontinuierliche Sammlung von 200 Seiten vor der Auslösung der Überprüfung, gewöhnlichen Raum IP in der Regel 30 Seiten auf dem hängen.
Häufig gestellte Fragen QA
F: Ist es legal, Yelp-Bewertungen zu sammeln?
A: Je nach Verwendung der Daten wird empfohlen, nur öffentlich sichtbare Inhalte zu erfassen und sie nicht für den kommerziellen Wettbewerb zu nutzen. Am besten ist es, einen Rechtsbeistand zu konsultieren
F: Wie wähle ich ein Agentenpaket für ipipgo?
A: Nutzen Sie das Pay-as-you-go-Paket für kleine Projekte, und wählen Sie das monatliche Paket für langfristigen Bedarf. Neue Abonnenten sollten daran denken, das 3G-Traffic-Testpaket zu erhalten
F: Wo kann man die gesammelten Daten speichern?
A: Es wird empfohlen, sie im CSV-Format zu speichern, mit Feldern, die den Kommentarinhalt, die Bewertung und das Datum enthalten. Speichern Sie nicht direkt in der Datenbank, da dies leicht Spuren hinterlassen kann!
Tipps für Fortgeschrittene: Verteilte Beschaffung
Wenn es notwendig ist, Daten aus mehreren Städten zu sammeln, können Sie ipipgo'sPositionierung auf StadtebeneFunktion. Wenn Sie beispielsweise Restaurantbewertungen in Los Angeles und New York erfassen möchten, können Sie die Ausgangs-IPs dieser beiden Städte getrennt angeben, um die Wahrscheinlichkeit eines Backcrawlings zu verringern.
Hier ist ein Beispiel für ein Konfigurationsblatt:
| Zielstadt | Bereich der Vertretung | Gleichzeitigkeit |
|---|---|---|
| Los Angeles, Kalifornien | US-LAX | 3 Fäden |
| NY | US-NYC | 3 Fäden |
Eine letzte Erinnerung: Datenerhebung ist die Kunst des Gleichgewichts, sowohl der Effizienz als auch der Heimlichkeit. Die Wahl des richtigen Werkzeugs ist nur der erste Schritt, und die kontinuierliche Anpassung der Strategie, um langfristige Stabilität zu erreichen. Mit dem ipipgo-Kundenservice können auftretende technische Probleme direkt an ihre Ingenieure weitergegeben werden, um vorgefertigte Programme zu erhalten, die mehr als den eigenen Wurf ermöglichen, um Aufwand zu sparen.

