
Hands-on mit einem Pool von Agenten, die die Last tragen können
Crawler Freunde verstehen, dass es keine zuverlässigen Agenten-Pool ist wie ein Fahrrad auf der Autobahn zu fahren - einfach nicht auflaufen kann. Kostenlose Proxys auf dem Markt sind wie der Himmel im Juni, heute kann verwendet werden, morgen wird außer Betrieb sein. Hier, um allen einen Trick, mit Scrapy + Redis, um einen exklusiven Agenten-Pool zu bauen, und dann mit einem zuverlässigen ipipgo Agenten-Paket, um sicherzustellen, dass Ihr Crawler stabil mit dem alten Treiber fahren wie.
Verstehen Sie, warum Sie zuerst Ihren eigenen Proxy-Pool aufbauen müssen.
1. Der freie Mitarbeiter ist zu sehr ein Blindgänger.Neun von zehn sind nutzlos, und der Rest ist wahrscheinlich langsamer als eine Schildkröte.
2. Handelsvertreter sind zu teuerDie volumenbasierte Abrechnung ist so unbeweglich, dass kleine Projekte sie nicht tragen können!
3. Die Flexibilität liegt in Ihren Händen.Bildschirm: So viel Sie wollen, Sie können ihn jederzeit erweitern und verkleinern!
Vorbereitung des Arbeitsbeginns
| Artefakt | verwenden. |
|---|---|
| Scrapy | Proxy-Seiten crawlen |
| Redis | Abhängiger Agent + Aufgabenplaner |
| ipipgo-Konto | Zugang zu Quellen für Qualitätsagenten |
Mit Blick auf die Konfiguration von ipipgo: get the API interface in ihrem Backend wird empfohlen, die OptionDynamisches IP-Paket für PrivatkundenDiese Art von IP wird nicht leicht als Crawler erkannt. Die Schnittstelle sollte wie folgt aussehen:
http://api.ipipgo.com/get?key=你的密钥&count=50
Vier Schritte zum Aufbau einer Kernarchitektur
Schritt 1 Agentenakquise
Schreiben Sie einen Crawler in Scrapy, der sich auf die Erfassung dieser drei Arten von Websites konzentriert:
- Öffentliche Proxy List Website (beachten Sie die Aktualität)
- API-Schnittstelle für ipipgo (stabile Quelle)
- Beitrag zur gemeinsamen Nutzung von Agenturen in Branchenforen (um die Flaute zu beseitigen)
Schritt 2 Redis speichert Daten
Konfigurieren Sie die Redis-Verbindung in settings.py, indem Sie drei Bibliotheken vorschlagen:
1. raw_proxies: gerade erfasste rohe Proxys
2. verified_proxies: verifizierte verfügbare Proxys
3. bad_proxies: verfallene schwarze Listen
Schritt drei: Besorgen Sie sich eine Validierungs-Middleware.
Schreiben Sie eine benutzerdefinierte Middleware, um vor jeder Anfrage einen zufälligen Proxy von Redis zu erhalten. Ein Tipp: Markieren Sie verschiedene Proxys, z. B. für Mobilfunkbetreiber, um sie separat zu speichern, damit Sie sie für bestimmte Websites verwenden können.
Schritt 4 Dynamische Instandhaltungsstrategie
Stellen Sie zwei zeitlich begrenzte Aufgaben:
- bereinigt ungültige Proxys automatisch jeden Tag um 6 Uhr morgens
- Prüfung der Wirkstoffqualität alle 2 Stunden
Verwenden Sie den Scrapy-Redis-Zeitplanungsmechanismus, um eine automatische Deduplizierung zu erreichen. Dies ist besonders kritisch, da es eine Menge Dinge retten kann!
Lösungen für häufige Schlaglöcher
F: Was soll ich tun, wenn der Agent plötzlich nicht mehr funktioniert?
A: ipipgo hat eine Smart-Switch-Funktion, in den API-Parametern fügen Sie ein &auto_switch=1, Begegnung Fehler automatisch ändern IP, pro-Test wirksam!
F: Was soll ich tun, wenn ich beim Krabbeln blockiert werde?
A: ändern Sie die ipipgo Paket in einem dynamischen Wohn-IP, jede Anfrage für eine zufällige Änderung der IP, denken Sie daran, die Anfrage Intervall in den Code nicht zu heftig sein!
F: Was ist falsch daran, dass Redis den Speicher immer zum Platzen bringt?
A: Es wird empfohlen, das Proxy-Ablaufdatum so einzustellen, dass es automatisch bereinigt wird, wenn es 6 Stunden überschreitet. Führen Sie es in redis-cli aus:
CONFIG SET maxmemory 500mb CONFIG SET maxmemory-policy allkeys-lru
Tipps zur Wartung
1. einmal pro Woche den Kontostand des ipipgo-Pakets manuell überprüfen, um das Essen nicht mitten in der Verwendung abzuschneiden.
2. im Falle einer großen Aktion wie der Doppel-Elf, im Voraus im Hintergrund von ipipgo, um die Menge der Pakete zu erhöhen
(3) Für wichtige Projekte empfiehlt es sich, ihren exklusiven IP-Pool zu kaufen, der zwar teurer ist, aber wirklich stabil!
Schließlich, um ehrlich zu sein, selbst gebaut Proxy-Pool, um einige Anstrengungen in der Anfangsphase zu verbringen, aber bekommen es getan ist wirklich sicher. Mit ipipgo's stabiler Proxy-Quelle, kann es im Grunde mit der täglichen Sammlung Bedürfnisse von 90% zu bewältigen. Wenn es zu viel Mühe ist, haben sie eine fertige Proxy-Pool-Programm, füllen Sie eine Konfiguration kann direkt verwendet werden, geeignet für Freunde in Eile auf das Projekt.

