Proxy-Pooling-System für Scrapy, um die Verwendung von Slow / Timing-Out-Proxys vorübergehend zu beenden

12

Ich habe mich umgesehen und versucht, ein vernünftiges Pooling-System für Scrapy zu finden, aber ich kann nichts finden, das alles hat, was ich brauche / will.

Ich suche nach einer Lösung für:

Rotiere Proxies

  • Ich möchte, dass sie nach dem Zufallsprinzip zwischen Proxies wechseln, aber niemals zweimal hintereinander den gleichen Proxy auswählen. (Scrapoxy hat das)

Bekannte Browser erkennen

  • Angenommen, Chrome, Firefox, Internet Explorer, Edge, Safari ... usw. (Scrapoxy hat das)

Blacklist Slow Proxies

  • Wenn der Proxy ausläuft oder langsam ist, sollte er durch eine Reihe von Regeln auf die schwarze Liste gesetzt werden ... (Scrapoxy hat nur Blacklisting für die Anzahl der Instanzen / Startups)

  • Wenn ein Proxy langsam ist (x Zeit), sollte er als Slow markiert werden und ein Zeitstempel sollte genommen werden und ein Zähler sollte erhöht werden.

  • Wenn ein Proxy-Timeout als Fail markiert wird, sollte ein Zeitstempel verwendet und ein Zähler erhöht werden.
  • Wenn ein Proxy keine Verzögerung für 15 Minuten nach Erhalt seiner letzten langsamen hat, dann der Zähler & amp; Der Zeitstempel sollte auf Null gesetzt werden, und der Proxy kehrt in einen neuen Zustand zurück.
  • Wenn ein Proxy 30 Minuten lang keinen Fehler hat, nachdem er seinen letzten Fehler erhalten hat, dann wird der Zähler & amp; Der Zeitstempel sollte auf Null gesetzt werden, und der Proxy kehrt in einen neuen Zustand zurück.
  • Wenn ein Proxy in 1 Stunde 5 Mal langsam ist, sollte er 1 Stunde lang aus dem Pool entfernt werden.
  • Wenn ein Proxy-Timeout 5 mal in 1 Stunde ist, sollte es für eine Stunde auf die schwarze Liste gesetzt werden
  • Wenn ein Proxy zweimal innerhalb von 3 Stunden blockiert wird, sollte er für 12 Stunden auf die schwarze Liste gesetzt und als schlecht markiert werden
  • Wenn ein Proxy zweimal innerhalb von 48 Stunden als fehlerhaft markiert wird, sollte er mich benachrichtigen (E-Mail, push bullet ... alles)

Jeder kennt eine solche Lösung (das Hauptmerkmal ist das Blacklisting von langsamen / zeitgesteuerten Proxies ...

    
Ryflex 21.02.2018, 16:35
quelle

1 Antwort

1

Da Ihre Polling-Regeln sehr spezifisch sind, können Sie Ihre eigenen Polling-Regeln programmieren. Bitte lesen Sie den folgenden Code, der einen Teil Ihrer Regeln implementiert (Sie müssen einen anderen implementieren):

%Vor%     
A STEFANI 16.03.2018 11:33
quelle

Tags und Links