蜘蛛爬行策略或网络抓取

 


 


这些处理被称为网络抓取或者蜘蛛爬行。很多站点,尤其是搜索引擎,都使用爬虫提供最新的数据,它主要用于提供它访问过页面的一个副本,然后,搜索引擎就可以对得到的页面进行索引,以提供快速的访问。

打开百度APP,查看更多高清图片

蜘蛛也可以在web上用来自动执行一些任务,例如检查连接,确认html代码;也可以用来抓取网页上某种特定类型信息,例如抓取电子邮件地址(通常用于垃圾邮件)。

一个网络蜘蛛就是一种机器人,或者软件代理。大体上,它从一组要访问的URL链接开始,可以称这些URL为种子。爬虫访问这些链接,它辨认出这些页面的所有超链接,然后添加到这个URL列表,可以称作检索前沿。这些URL按照一定的策略反复访问。

 


 

爬行策略

下述的三种网络特征,造成了设计网页爬虫抓取策略变得很难:

它巨大的数据量;

它快速地更新频率;

动态页面的产生

它们三个特征一起产生了很多种类的爬虫抓取链接。

巨大的数据量暗示了爬虫,在给定的时间内,只可以抓取所下载网络的一部分,所以,它需要对它的抓取页面设置优先级;快速的更新频率说明在爬虫抓取下载某网站一个网页的时候,很有可能在这个站点又有新的网页被添加进来,或者这个页面被更新或者删除了。

最近新增的很多页面都是通过服务器端脚本语言产生的,无穷的参数组合也增加了爬虫抓取的难度,只有一小部分这种组合会返回一些独特的内容。例如,一个很小照片存储库仅仅通过get方式可能提供就给用户三种操作方式。如果这里存着四种分类方式,三种缩略图方式,两种文件格式,和一个禁止用户提供内容的选项,那么,同样的内容就可以通过48种方式访问。这种数学组合给网络爬虫创造的难处就是,为了获取不同的内容,他们必须筛选无穷仅有微小变化的组合。

正如爱德华等人所说的:“用于检索的带宽不是无限的,也不是免费的;所以,如果引入衡量爬虫抓取质量或者新鲜度的有效指标的话,不但伸缩性,连有效性都将变得十分必要”(爱德华等人,2001年)。一个爬虫就必须小心地选择下一步要访问什么页面。网页爬虫的行为通常是四种策略组合的结果。

 


 

选择策略,决定所要下载的页面;

重新访问策略,决定什么时候检查页面的更新变化;

平衡礼貌策略,指出怎样避免站点超载;

并行策略,指出怎么协同达到分布式抓取的效果;

posted @ 2020-10-27 19:12  Python锦河  阅读(503)  评论(0编辑  收藏  举报