码迷,mamicode.com
首页 > 编程语言 > 详细

Python爬虫从入门到放弃(十)之 关于深度优先和广度优先

时间:2019-01-27 00:26:46      阅读:310      评论:0      收藏:0      [点我收藏+]

标签:www.   分享   入门   技术   网站   直接   htm   两种   就会   

原文地址https://www.cnblogs.com/zhaof/p/7092400.html

  • 网站的树结构
  • 深度优先算法和实现
  • 广度优先算法和实现

网站的树结构

通过伯乐在线网站为例子:

技术分享图片

 

 

并且我们通过访问伯乐在线也是可以发现,我们从任何一个子页面其实都是可以返回到首页,所以当我们爬取页面的数据的时候就会涉及到去重的问题,我们需要将爬过的url记录下来,我们将上图进行更改

 技术分享图片

 

 

在爬虫系统中,待抓取URL队列是很重要的一部分,待抓取URL队列中的URL以什么样的顺序排队列也是一个很重要的问题,因为这涉及到先抓取哪个页面,后抓取哪个页面。而决定这些URL排列顺序的方法,叫做抓取策略。下面是常用的两种策略:深度优先、广度优先 

深度优先

深度优先是指网络爬虫会从起始页开始,一个链接一个链接跟踪下去,处理完这条线路之后再转入下一个起始页,继续追踪链接,通过下图进行理解:

注:scrapy默认采用的是深度优先算法

 技术分享图片

技术分享图片

 

 

广度优先

广度优先,有人也叫宽度优先,是指将新下载网页发现的链接直接插入到待抓取URL队列的末尾,也就是指网络爬虫会先抓取起始页中的所有网页,然后在选择其中的一个连接网页,继续抓取在此网页中链接的所有网页,通过下图进行理解:

 技术分享图片

技术分享图片

 

Python爬虫从入门到放弃(十)之 关于深度优先和广度优先

标签:www.   分享   入门   技术   网站   直接   htm   两种   就会   

原文地址:https://www.cnblogs.com/111testing/p/10325333.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!