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 ...