基本原理
大量的数据散落在互联网中,要分析互联网上的数据,需要先把数据从网络中获取下来,这就需要网络爬虫技术。爬虫的主要目的是将互联网上的网页下载到本地,形成一个或互联内容的镜像备份。
工作流程:
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哈希值所处的范围判断由哪台服务器处理。如果某台服务器出现问题,不会影响其他服务器的正常工作。
网页爬虫采集机制
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...