在Scrapy中爬行的顺序

Sid*_*rth 2 python scrapy

我在scrapy中写了一个基本的CrawlSpider,但我想了解网址被抓取的顺序是什么 - FIFO/LIFO?

我希望抓取工具抓取起始网址页面中的所有链接,然后转到其他似乎不是订单的网址.

我怎样才能做到这一点?

Aco*_*orn 9

http://readthedocs.org/docs/scrapy/en/0.14/faq.html#does-scrapy-crawl-in-breath-first-or-depth-first-order

默认情况下,Scrapy使用LIFO队列来存储挂起的请求,这基本上意味着它以DFO顺序进行爬网.在大多数情况下,此订单更方便.如果您确实想要以真正的BFO顺序进行爬网,可以通过设置以下设置来执行此操作:

 DEPTH_PRIORITY = 1
 SCHEDULER_DISK_QUEUE = 'scrapy.squeue.PickleFifoDiskQueue'
 SCHEDULER_MEMORY_QUEUE = 'scrapy.squeue.FifoMemoryQueue'
Run Code Online (Sandbox Code Playgroud)