2012-11-29 83 views
3

我想知道Scrapy如何過濾這些爬行的URL?它是否存儲了所有在crawled_urls_list之類的網址中抓取的網址,當它獲取新的網址時,它會查找列表以檢查網址是否存在?Scrapy如何過濾抓取的網址?

CrawlSpider(/path/to/scrapy/contrib/spiders/crawl.py)的這個過濾部分的代碼在哪裏?

非常感謝!

回答

4

默認情況下,scrapy會保留已查看請求的指紋。該列表保存在python集的內存中,並在JOBDIR變量定義的目錄中附加了一個文件調用requests.seen。 如果您重新啓動scrapy,該文件將重新加載到python集合中。 控制此類的類位於scrapy.dupefilter 如果您需要不同的行爲,則可以重載此類。

+0

感謝loooooooooot!你的回答對我來說是一大恩惠!我想要做的是在爬行時暫停蜘蛛。下面是一些其他人也想要暫停蜘蛛的鏈接:[暫停你的蜘蛛](http://scrapy.readthedocs.org/en/0.16/topics/jobs.html) –

+0

我在哪裏可以找到該文件包含已被抓取的網址? –

+0

@XuJiawan我在哪裏可以找到包含已被抓取的網址的文件? –