我在scrapy中写了一个基本的CrawlSpider,但我想了解网址被抓取的顺序是什么 - FIFO / LIFO?
我希望抓取工具抓取起始网址页面中的所有链接,然后转到其他似乎不是订单的网址。
我该怎么做?
答案 0 :(得分:8)
默认情况下,Scrapy使用LIFO队列存储待处理的请求, 这基本上意味着它以DFO顺序爬行。这个订单更多 在大多数情况下方便。如果您确实想要以真正的BFO顺序进行爬网, 您可以通过设置以下设置来完成此操作:
DEPTH_PRIORITY = 1
SCHEDULER_DISK_QUEUE = 'scrapy.squeue.PickleFifoDiskQueue'
SCHEDULER_MEMORY_QUEUE = 'scrapy.squeue.FifoMemoryQueue'
答案 1 :(得分:0)
您可以在您的settings.py中添加它:
DEPTH_PRIORITY = 1
SCHEDULER_DISK_QUEUE = 'scrapy.squeues.PickleFifoDiskQueue'
SCHEDULER_MEMORY_QUEUE = 'scrapy.squeues.FifoMemoryQueue'
供参考,请参阅官方文档。