
Praktische Übungen zur Auswahl eines Crawler-Tools: Selenium und Scrapy - was ist am Ende besser?
Crawler alten Eisen Menschen am häufigsten die Frage stellen, ist: mit Selenium oder Scrapy, diese beiden Waren Blick auf die Daten gegriffen werden kann, aber die Verwendung des Unterschieds kann eine große gehen. Heute werden wir brechen die Krümel zu sagen, vor allem, wie man mit Proxy-IP verwenden, um nicht das Auto zu stürzen.
I. Die anwendbaren Szenarien sind sehr unterschiedlich
Beginnen wir mit der Schlussfolgerung:Selenium für echte Menschen, Scrapy für Geschwindigkeit und Menge.Es ist eine gute Idee, Selenium zu verwenden, um den Betrieb einer realen Person zu simulieren. Zum Beispiel, wenn Sie die Bewertung eines Produkts fangen wollen, müssen Sie sich anmelden und dann die Seite drehen, dann verwenden Selenium kann perfekt simulieren den Betrieb einer realen Person. Aber wenn Sie Unternehmen Gelbe Seiten in der Masse zu greifen wollen, kann Scrapy Dutzende von Seiten pro Sekunde zu bekommen.
Hier ist ein Fallstrick, den Sie beachten sollten: Es ist besonders einfach, bei der Verwendung von Selenium eine IP-Sperre zu erhalten, da die Browsermerkmale so offensichtlich sind. Es ist an der Zeit, sich auf dieDynamischer Wohnsitz-Proxy für ipipgoWenn Sie Ihre IP-Adresse bei jedem Besuch automatisch ändern möchten, können Sie die Wahrscheinlichkeit einer Sperrung durch 90% verringern.
Haltung bei der Verwendung von Proxy-IPs
| Abb. Muster | Schwierigkeit der Agentenkonfiguration | Empfohlenes Programm |
|---|---|---|
| Selen (Datenverarbeitung) | Mittel (zum Ändern der Browserkonfiguration) | Automatische API-Umschaltung für ipipgo |
| Scrapy | Einfach (Konfigurationsdatei ändern) | Tunneling-Agent für ipipgo |
Das Hinzufügen von Proxies in Scrapy ist super einfach, zwei Zeilen in settings.py:
DOWNLOADER_MIDDLEWARES = {
scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware': 543,
}
HTTP_PROXY = "http://用户名:密码@gateway.ipipgo.com:9020"
Und Selenium muss auf diese Weise manipuliert werden (am Beispiel von Chrome):
von selenium import webdriver
proxy = "gateway.ipipgo.com:9020"
options.add_argument(f'--proxy-server=http://{proxy}')
III. ein Leitfaden zur Vermeidung von Fallstricken im tatsächlichen Kampf
Vor kurzem bin ich ausgeflippt, als ich einem Kunden beim Crawlen einer bestimmten Geschäftsinformationsseite half. Mit Scrapy, um eine direkte Anfrage zu machen, alles, was zurückgegeben wurde, war eine CAPTCHA-Seite. Später wechselte ich zu Selenium + ipipgo'sBrowser-Fingerprinting-ProxyDas Problem wurde perfekt gelöst. Hier ein Tipp: Denken Sie daran, eine zufällige Wartezeit einzustellen, damit die Website nicht herausfindet, dass es ein Roboter ist, der arbeitet.
Wenn Sie auf die Validierung von Schiebereglern stoßen, sollten Sie nicht mit dem Kopf durch die Wand gehen. Versuchen Sie ipipgo'sFester SitzungsproxyDie Erfolgsquote kann wesentlich höher sein, wenn für die gesamte Reihe von Vorgängen dieselbe IP verwendet wird.
IV. Antworten auf häufig gestellte Fragen
F: Was soll ich tun, wenn meine IP immer wieder blockiert wird?
A: Drei Tricks: 1) Reduzieren Sie die Häufigkeit der Anfragen 2) Verwenden Sie den rotierenden Proxy von ipipgo 3) Ändern Sie zufällig den User-Agent
F: Wie erhalte ich eine Website, die eine Anmeldung erfordert?
A: Verwenden Sie zunächst Selenium, um die Anmeldung zu simulieren und Cookies zu erhalten, und verwenden Sie dann Scrapy für den Batchbetrieb. Denken Sie daran, es mit ipipgo'sLanglebige Proxy-IP, um den Anmeldestatus aufrechtzuerhalten.
V. Empfehlungen für die Endauswahl
Geben Sie eine universelle Formel an:
Datenvolumen <1000/Tag ➜ Selen+ipipgo Residential Agent
Datenvolumen >1000/Tag ➜ Scrapy+ipipgo Rechenzentrums-Proxy
Schließlich möchte ich Sie daran erinnern: versuchen Sie nicht, einen kostenlosen Proxy zu verwenden, das letzte Mal, wenn ein Kunde IP-Segment blockiert wurde, die Website direkt schwarz die gesamte C-Segment. Mit dem exklusiven Proxy von ipipgo ist zwar teurer, aber die Erfolgsquote ist garantiert, die Berechnung ist tatsächlich kostengünstiger.

