基本原理
大量的数据散落在互联网中,要分析互联网上的数据,需要先把数据从网络中获取下来,这就需要网络爬虫技术。爬虫的主要目的是将互联网上的网页下载到本地,形成一个或互联内容的镜像备份。
工作流程:
1、选取部分URL作为种子
2、将这些URL放入待抓取的URL队列
3、从队列中取出URL进行DNS解析,获取主机IP,并将URL网页的内容下载至网页库中,将当前URL放置已抓取的URL队列。
4、分析已抓取的网页内容中其他的URL,并将URL放入待抓取URL队列中,进入下一个循环。
抓取策略
1、深度优先遍历
指网络爬虫会从起始页开始,一个链接一个链接的跟踪下去,处理完这条线路之后再转入下一个起始页,继续跟踪。
2、宽度优先遍历
将新下载网页中发现的链接直接插入待抓取URL队列的末尾。即会先处理起始网页中的所有链接,然后再选取一个链接网页,继续抓取此网页中的所有链接网页。
3、反向链接数策略
一个网页被其它链接指向的数量,表面该网页的重要程度。在真实网络环境中,广告、作弊器等会导致反向链接数不能完全等同于网页链接的重要程度。需要考虑当前环境,反向链接数是否真实可靠。
4、PartialPageRank策略
5、大站优先策略
更新策略
1、历史参考策略
2、用户体验策略
3、聚类抽样策略
网页具有很多属性,类似属性的网页可以认为其更新频率也是类似的。
系统架构
1、主从式
有一台专门的Master服务器来维护待抓取的URL队列,它负责每次将URL分发到不同的Slave服务器,Slave服务器负责实际的网页下载工作。
2、对等式
通过Hash URL至不同的服务器。
这种模式有一个问题,当一台服务器不工作,所有的URL的哈希求余的结果都将发生变化,扩展性不好。可以采用一致性哈希算法,即:URL哈希运算映射为0~300范围内的某一个数,然后将这个范围平均分配给各服务器,根据URL哈希值所处的范围判断由哪台服务器处理。如果某台服务器出现问题,不会影响其他服务器的正常工作。
网页爬虫采集机制
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。