关于爬虫的广度优先问题

宽度优先的爬取

实践中,网页的爬取,一般来说重要的网页距离入口距离站点很近,2.宽度优先有利于多个爬虫并行的合作

在这里插入图片描述
从上图我们可以看出宽度优先的爬取顺序,是一层一层的过来的那么,如何来实现

其实不难发现 按照 从 1- 2 -3 - 4- 5-6-7 顺序走,在把1爬完之后

紧接着放入 2 跟 3 当 ,2爬完之后 把 4 , 5 放进去 , 爬3 的时候,把 6,7 放进去

在这里插入图片描述
整个过程的实现,其实跟 队列一样, 当弹出一个的同时,把下面一层的url放进去
这样就实现了宽度优先的爬取

这个只是处理的思路
crawled = [] #  爬取过的网站的队列
crawl_queue = [] 等待怕爬去的网站的队列
while crawl_queue # : 还有待爬取的网站时
	deal_html(url) # 具体的处理过程 在这个过程中,要对网页爬取到的url进行处理
	#通过跟crawled中的url 进行比较,把未爬取的url 放入带爬url中
	crawled.append(url)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章