2016-06-10 17 views
-1

Ich benutze derzeit Python-Anfragen, um ca. 20.000 Seiten von json herunterladen. Ich stoße auf Engpässe wegen der Begrenzung der Rate durch den Server, den ich scrappe, und vielleicht auf einen Mangel an asynchronen Calls/Scheduling. Ich dachte, Scrapy wäre eine gute Lösung, weil ich gehört habe, dass es Funktionen hat, um diese mit dem Kratzen verbundenen Probleme zu bekämpfen. Die Sache ist, das sind die einzigen Teile, die ich brauche, ich brauche nicht spidering/parsing/orm/etc. Mit Blick auf die Dokumente war es unklar, wie ich nur diese Komponenten aussortieren würde. Ich brauche einen Microservice für genau diese Teile von Scrapy. Die Flasche zu Scrapys Django. Ich habe gesehen, dass Grequests mit Async helfen können, aber wenn ich diesen Weg gehe, brauche ich noch eine Ratenbegrenzung und eine Möglichkeit, fehlgeschlagene Anfragen erneut zu versuchen. Kann mir jemand in die richtige Richtung zeigen?Scrapy Throttling und Anfrage Scheduling nur Microservices

Antwort

-1

Wenn Sie brauchen, ist etwas, um Ihnen bei der Ratenbegrenzung zu helfen, würde ich empfehlen, einen Proxy-Rotationsdienst zu verwenden, Scrapy wird nicht notwendig sein, wenn Sie bereits Ihren Crawler bereit haben.

Ich würde Crawlera oder proxymesh empfehlen.

+0

Das ist ein interessanter Ansatz. Würde Tor dabei helfen oder zu viel Overhead haben/zu langsam sein, um die Dinge zu beschleunigen. – sajattack

+0

Tor wäre auch ein anderer Ansatz, ich kann nicht sagen, dass ich es versucht habe. – eLRuLL

+0

Tor könnte helfen, aber Sie benötigen einige andere Bibliotheken wie Stem für die Steuerung von Tor aus Python-Code, und müssen einige Logik auslösen, wenn Tor Identity (Proxy) geändert werden sollte. –