scrapy是廣度優(yōu)先還是深度優(yōu)先?-寫給自己看爬蟲系列4

前言

問題:有朋友問起這究竟scrapy是廣度優(yōu)先還是深度優(yōu)先?
回答:
深度優(yōu)先是指網絡爬蟲會從起始頁開始,一個鏈接一個鏈接跟蹤下去,處理完這條線路之后再轉入下一個起始頁,繼續(xù)追蹤鏈接
廣度優(yōu)先,有人也叫寬度優(yōu)先,是指將新下載網頁發(fā)現的鏈接直接插入到待抓取URL隊列的末尾,也就是指網絡爬蟲會先抓取起始頁中的所有網頁,然后在選擇其中的一個連接網頁,繼續(xù)抓取在此網頁中鏈接的所有網頁
經過官方文檔查詢,因為scrapy使用的是后進先出隊列,基本可以看成是深度優(yōu)先(DFO)。如果需要設置廣度優(yōu)先(BFO),可以在settings中添加以下代碼。另外當DEPTH_PRIORITY為正值時越靠廣度優(yōu)先,負值則越靠深度優(yōu)先,默認值為0

settings中設置方法
DEPTH_PRIORITY = 1
SCHEDULER_DISK_QUEUE = 'scrapy.squeues.PickleFifoDiskQueue'
SCHEDULER_MEMORY_QUEUE = 'scrapy.squeues.FifoMemoryQueue'

參考文章
scrapy文檔F&Q
Scrapy爬蟲入門教程十三 Settings(設置)

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容