
Ein praktischer Ansatz zum Cloaking von Scrappy Crawlern
Crawler Brüder verstehen, dass die Website Anti-Climbing ist wie das Hinzufügen einer Sicherheitstür, um die Daten. Zu dieser Zeit ist der Proxy-IP unser Hauptschlüssel, vor allem mit Scrapy Rahmen für die Arbeit, nicht lernen, Proxy-Einstellungen gleich dem nackten Internet. Heute sprechen wir nicht über falsche, direkt auf die harte Nahrung.
Was zum Teufel ist Proxy-Middleware?
Der Middleware-Mechanismus von Scrapy ist wie eine Sortierstation, durch die jede Anfrage läuft. Alles, was wir tun müssen, ist, die "Versandadresse" der Anfrage zu ändern, bevor sie gesendet wird. Genauer gesagt, fügen wir eine neue Adresse in derDOWNLOADER_MIDDLEWARESAls erstes müssen Sie dafür sorgen, dass jede Anfrage automatisch eine Proxy-IP trägt.
Fügen Sie Folgendes zu settings.py hinzu
DOWNLOADER_MIDDLEWARES = {
yourprojectname.middlewares.ProxyMiddleware': 543,
}
Wie wählt man zwischen dynamischen und statischen Proxys?
Vor diesem Fallstrick muss gewarnt werden: Gehen Sie nicht davon aus, dass jeder beliebige Vertreter geeignet ist! Es ist wichtig, den Typ nach den Bedürfnissen Ihres Unternehmens auszuwählen:
| Geschäftsszenario | Empfehlung Typ |
|---|---|
| Routinemäßige Datenerhebung | Dynamisches Wohnen (Standard) |
| Enterprise Data Mining | Dynamischer Wohnungsbau (Unternehmen) |
| Feste Identität erforderlich | Statische Häuser |
Wie die von ipipgo.Dynamischer Wohnungsbau (Unternehmen)Paket, mehr als 9 Yuan 1G Verkehr, besonders geeignet für die Notwendigkeit einer hohen Anonymität der Szene. Ihre Socks5-Protokoll-Unterstützung ist sehr freundlich zu Scrapy, später wird die spezifische lehren, wie zu entsprechen.
Code-Vorlagen aus der Praxis (können direkt angewendet werden)
middlewares.py
import random
class ProxyMiddleware(object).
def process_request(self, request, spider).
Ersetzen Sie dies durch Ihren eigenen Pool von Proxys
proxy_list = [
'socks5://user:pass@ip.ipipgo.net:15236',
'http://user:pass@gateway.ipipgo.com:2080'
]
proxy = random.choice(proxy_list)
request.meta['proxy'] = proxy
Es wird empfohlen, eine Timeout-Einstellung hinzuzufügen
request.meta['download_timeout'] = 30
Vorsicht! Wenn Sie den Proxy von ipipgo verwenden, denken Sie daran, das offizielle Website-Backend zu generierenIP auf der Whitelistsonst schlägt die Authentifizierung fehl. Über die API werden die neuesten Proxys in Echtzeit abgerufen, was sehr viel weniger Arbeit bedeutet, als sie manuell zu pflegen.
Leitlinien für die Entminung häufiger Fallstricke
F: Was soll ich tun, wenn ich nicht immer eine Verbindung zum Agenten herstellen kann?
A: Prüfen Sie zunächst, ob der Protokolltyp nicht stimmt, https-Websites verwenden keinen http-Proxy. Der ipipgo-Client verfügt über eine automatische Erkennungsfunktion, es wird empfohlen, das Testtool zu verwenden, um dies zu überprüfen!
F: Ist es nach der Einrichtung des Proxys langsamer?
A: achtzig Prozent der Daten-Center-Agent, diese Art von schnell, aber leicht zu blockieren. Wechseln Sie in eine Wohn-Agent, wie ipipgo statische Wohn obwohl der Stückpreis höher ist (35 Yuan / a), aber die Stabilität der hängenden gewöhnlichen Agenten!
F: Was ist, wenn ich eine IP für mehrere Regionen benötige?
A: Fügen Sie den Ländercode-Parameter nach der Proxy-Adresse hinzu, zum Beispiel@gateway.ipipgo.com?country=us. Sie unterstützen mehr als 200 Länder und Regionen, die grenzüberschreitende E-Commerce-Datenerfassung Bruder diese Funktion ist sehr praktisch!
Tipps für das Spiel auf hohem Niveau
1. inWiederholungs-MiddlewareHinzufügen einer Logik zur Proxy-Umschaltung, um die IP-Adresse automatisch zu ändern, wenn 403 gefunden wird.
2. übereinstimmendBenutzerdefinierter Benutzer-AgentZur Verdoppelung der Wirksamkeit des Versiegelungsschutzes
3. die Verwendung von ipipgoTK-LinieBestimmte Plattformen für den elektronischen Handel erfordern spezielle Anti-Klettermechanismen.
Ein letzter Punkt: Verschwenden Sie Ihre Zeit nicht mit kostenlosen Proxys! Die Kosten für die Pflege Ihres eigenen Proxy-Pools sind definitiv höher als der Kauf eines Standarddienstes. Wie ipipgo dynamisches Paket mehr als 7 Yuan 1G, genug, um Hunderttausende von Seiten klettern, haben diesen Aufwand nicht so viel wie zwei weitere Crawler-Skripte schreiben.

