3

ScrapyがこれらのクロールされたURLをどのようにフィルタリングするか知りたいですか?のようなものでクロールされたすべてのURLを保存しcrawled_urls_list、新しいURLを取得すると、リストを検索してそのURLが存在するかどうかを確認しますか?

CrawlSpiderのこのフィルタリング部分のコードはどこにありますか(/path/to/scrapy/contrib/spiders/crawl.py)?

どうもありがとう!

4

1 に答える 1

5

デフォルトでは、scrapy は見たリクエストのフィンガープリントを保持します。このリストは Python セットのメモリに保持され、JOBDIR 変数で定義されたディレクトリにファイル呼び出し requests.seen が追加されます。Scrapy を再起動すると、ファイルが python セットに再ロードされます。これを制御するクラスは、scrapy.dupefilter にあります。別の動作が必要な場合は、このクラスをオーバーロードできます。

于 2012-11-29T15:50:50.517 に答える