IPIPGO IP-Proxy Wie richtet man eine dynamische Proxy-IP für Scrapy ein? Benutzerdefinierte Download-Middleware in Aktion

Wie richtet man eine dynamische Proxy-IP für Scrapy ein? Benutzerdefinierte Download-Middleware in Aktion

Erstens, Scrapy Proxy Middleware am Ende, was ist der Nutzen? Crawler Brüder sollten diese Situation angetroffen haben: nur ein paar Minuten des Programms laufen, wird die Ziel-Website geben Sie IP zu Tode blockiert. In dieser Zeit, dynamische Proxy-IP ist ein Lebensretter, wie ein Spiel zu öffnen unbegrenzte Auferstehung hängen, wurde versiegelt automatisch die neue Weste zu ändern, um weiterhin zu tun. ...

Wie richtet man eine dynamische Proxy-IP für Scrapy ein? Benutzerdefinierte Download-Middleware in Aktion

Erstens, Scrapy Proxy Middleware am Ende, was ist der Nutzen?

Crawler Brüder sollten diese Situation angetroffen haben: nur ein paar Minuten des Programms laufen, wird die Ziel-Website geben Sie IP zu Tode blockiert. Zu dieser Zeit, dynamische Proxy-IP ist ein lebensrettender Strohhalm, wie ein Spiel zu öffnen unbegrenzte Auferstehung hängen, wurde versiegelt automatisch die neue Weste zu ändern, um weiter zu tun.

Das Proxy-Setup, das mit Scrapy geliefert wird, ist zu einfach, um komplexe Szenarien zu behandeln. Wir müssen unsere eigeneMiddleware herunterladenDieses Ding ist wie ein Versandzentrum für ein Kurierunternehmen, das jede Anfrage abfängt und heimlich die Uniform (IP-Adresse) des Kuriers (Anfrage) ändert.

II. von Hand gebaute Räder: Dynamische Agenten-Middleware

Bereiten Sie zunächst einen zuverlässigen Proxy-Pool vor. Hier ein Beispiel mit dem Dynamic Residential Proxy von ipipgo. Das Rückgabeformat der Home-API sieht wie folgt aus:

{
  "proxy": "123.45.67.89:8888",
  "expire_time": 1800
}

Eine neue.middlewares.pyDatei, und der Kerncode besteht aus nur 20 Zeilen:

zufällig importieren
importiere Anfragen
von scrapy importieren Signale

class DynamicProxyMiddleware.
    def __init__(self, api_url): self.api = api_url + "?apikey=YOUR_API_KEY".
        self.api = api_url + "?apikey=YOUR_API_KEY"

    @classmethod
    def from_crawler(cls, crawler):
        return cls(
            api_url=crawler.settings.get('IPIPGO_API')
        )

    def process_request(self, request, spider).
         Eine neue IP abrufen
        resp = requests.get(self.api)
        proxy = f "http://{resp.json()['proxy']}"
         Wichtig! Legen Sie die Authentifizierungsinformationen fest
        request.meta['proxy'] = proxy
        request.headers['Proxy-Authorization'] = 'Basic ' + base64.b64encode(b'username:password').decode()

III. geheime Parameter der Konfigurationsdatei

existiereneinstellungen.pyAktivieren Sie unsere Middleware in der

DOWNLOADER_MIDDLEWARES = {
    your_project.middlewares.DynamicProxyMiddleware': 543,
}
IPIPGO_API = "https://api.ipipgo.com/getProxy" offizielle Schnittstellenadresse

Achten Sie auf diese beiden Schlaglöcher:

1. nicht mit den Prioritätsnummern herumspielendie kleiner ist als die Standard-HttpProxyMiddleware (750).
2. informationen zur AkkreditierungDenken Sie daran, das vom ipipgo-Backend vergebene Passwort zu ändern

IV. Leitfaden zur Vermeidung von Fallstricken in der Praxis

Ein Problem aus dem wirklichen Leben, auf das ich kürzlich bei der Unterstützung eines Kunden bei einem Einsatz gestoßen bin:

symptomatisch eine Angelegenheit regeln
Kontinuierliche Rückgabe von 407 Fehlern Prüfen Sie, ob der Code für die Basisauthentifizierung korrekt ist.
Die IP-Überlebensdauer ist zu kurz Fügen Sie &duration=600 zu den API-Parametern hinzu, um das Verfallsdatum zu verlängern.
WebDriver wird auf der Ziel-Website erkannt Kopfzeilentarnung für ipipgo einschalten

V. Kurze Fragen und Antworten auf häufig gestellte Fragen

F: Was sollte ich tun, wenn meine Proxy-IP oft ungültig ist?
A: Das dynamische Wohnpaket von ipipgo enthält dieAutomatische Umschaltung nicht möglichMechanismus wird empfohlen, die Häufigkeit der API-Aufrufe auf 3-5 Mal pro Sekunde festzulegen, und ihr IP-Pool ist groß genug, um dem Ansturm standzuhalten.

F: Plötzliche Verlangsamung des Crawlers?
A: Prüfen Sie, ob sie eingeschaltet istGLEICHZEITIGE_ANFRAGENGleichzeitigkeitskontrolle ist es empfehlenswert, mit ipipgo'sRegionale Optimierungum den Proxy-Knoten am Standort des Zielservers auszuwählen.

F: Müssen Sie mit CAPTCHA umgehen?
A: Schalten Sie es in der ipipgo-Konsole einIntelligente CAPTCHA-UmgehungDienstes wird nur von der Enterprise Edition unterstützt, normalen Benutzern wird empfohlen, die Häufigkeit der Anfragen zu reduzieren.

Eine letzte Erkenntnis: Öffnen Sie nicht dieCOOKIES_AKTIVIERTAndernfalls wird die Website feststellen, dass verschiedene IPs denselben Satz von Cookies verwenden, was ihre Identität sofort offenbaren wird! Wenn Sie Cookies für Ihr Unternehmen verwenden müssen, denken Sie daran, sie mit ipipgo'sSitzung haltenDie Sticky Session genannte Funktion sorgt dafür, dass die IP-Adresse für einen bestimmten Zeitraum gleich bleibt.

Dieser Artikel wurde ursprünglich von ipipgo veröffentlicht oder zusammengestellt.https://www.ipipgo.com/de/ipdaili/47701.html

Geschäftsszenario

Entdecken Sie weitere professionelle Dienstleistungslösungen

💡 Klicken Sie auf die Schaltfläche für weitere Einzelheiten zu den professionellen Dienstleistungen

Neue 10W+ U.S. Dynamic IPs Jahresendverkauf

Professioneller ausländischer Proxy-IP-Dienstleister-IPIPGO

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Kontakt

Kontakt

13260757327

Online-Anfrage. QQ-Chat

E-Mail: hai.liu@xiaoxitech.com

Arbeitszeiten: Montag bis Freitag, 9:30-18:30 Uhr, Feiertage frei
WeChat folgen
Folgen Sie uns auf WeChat

Folgen Sie uns auf WeChat

Zurück zum Anfang
de_DEDeutsch