2

でサイトのリストをクロールしようとしていますscrapy。ウェブサイトの URL のリストを として入れようとしましたstart_urlsが、それではあまり多くのメモリを確保できないことがわかりました。scrapy一度に 1 つまたは 2 つのサイトのクロールを設定する方法はありますか?

4

2 に答える 2

3

concurrent_requests = 1データで過負荷にならないように試してみることができます

http://doc.scrapy.org/en/latest/topics/settings.html#concurrent-requests

于 2013-01-14T08:37:13.447 に答える
0

URL へのリクエストを繰り返すstart_requestsメソッドを定義できます。これにより、すべての開始 URL を一度にメモリに保持するオーバーヘッドが回避され、説明した問題を解決する最も簡単な方法です。

クロール中に Scrapy がメモリに保持する URL がまだたくさんある場合は、永続化サポートを有効にすることができます。

一度にいくつかの URL のみをスクレイピーにフィードしたい場合は、spider_idleシグナルに登録し、コールバック関数で次のいくつかの URL を追加して DontCloseSpider を発生させることで可能です。

于 2013-01-13T18:56:39.520 に答える