赞
踩
网络爬虫(Crawler)又称网络蜘蛛(Spider),网络蚂蚁(Ant)和网络机器人(Robot),可以按照事先制定的规则(爬虫算法)自动地浏览并获取网页信息的计算机程序。
爬虫是搜索引擎的核心组件,这种爬虫称为通用爬虫,目的是尽可能多地爬取网页。
网络爬虫由控制节点、爬虫节点和资源库构成:
网络爬虫按照实现技术和结构可分为:
由于聚集爬虫可以按相应的主题有目的地进行页面(数据)爬取,可以节省大量服务器和带宽资源,具有很强的实用性。 聚焦爬虫的工作流程如下图所示:
网络爬虫的常用功能有:
爬虫的出现,可以在一定程度上代替手工访问网页,使人工访问互联网的操作自动化,以更高效地利用好互联网中的有价值信息。
搜索引擎核心工作流程如下图所示:
用户爬虫即专门用来爬取互联网中用户数据(价值比较高)的一种爬虫。
通用网络爬虫的实现原理及过程如下图所示:
聚焦网络爬虫,由于其需要有目的地进行爬取,所以相对于通用网络爬虫,增加了目标定义和过滤机制,也就是说,其执行原理和执行过程需要比通用网络爬虫多出三步,即目标的定义、无关链接的过滤和下一步要爬取URL地址的选取等,如下图所示:
爬行策略主要有深度优先、广度优先、大站优先、反链策略等。
如下图所示,假设有一个网站,ABCDEFG分别为站点下的网页,图中箭头表示网页的层次结构。
如果按照深度优先爬行策略,则首先会爬取上层的一个网页,然后将此网页的下层链接依次深入爬取完再返回上一层进行爬取。 所以,若按照深度优先爬行策略,上图网页的爬行顺序可以是:A -> D -> E -> B -> C -> F -> G
如果按照广度优先爬行策略,则首先会爬取同一层次的网页,将同一层次的网页全部爬取完成后,再选择下一个层次的网页去爬行。所以,若按照广度优先爬行策略,上图网页的爬行顺序可以是:A -> B -> C -> D -> E -> F -> G
所谓大站就是网页数量多的网站。大站优先爬取策略,就是优先爬取大站中网页URL的策略。
一个网页的反向链接数,指的是该网页被其他网页指向的次数,这反映了该网页被其他网页引用(推荐)的次数。因此,如果按照反链策略爬行的话,将优先爬行受欢迎(当然不一定真实)的网页。
除了上述爬行策略,实际中还有很多其他爬行策略,如OPIC(在线页面重要性计算)策略、Partial PageRank(非完全页面分级)策略
显然,网站的更新频率与爬虫访问网站的频率越接近,效果越好。当爬虫服务器资源有限时,爬虫也需要根据对应策略,让不同的网页具有不同的更新优先级,优先级高的网页更新,将获得较快的爬取响应。
具体来说,常见的网页更新策略主要有3种:
网页分析,就是对爬取到原始数据库中的网页进行分析以确定网页重要性,作为用户检索排名结果的依据。
搜索引擎的网页分析算法主要分为3类:
一般地,爬虫在对网页进行爬取访问的时候,会通过HTTP请求中的UserAgent字段告知Web服务器自己的身份信息。
一般爬虫访问一个网站的时候,首先会根据该站点下的Robots.txt文件来确定可爬取网页的范围。Robots协议是需要网络爬虫遵守的协议,对于一些禁止的URL地址,网络爬虫则不应爬取访问。
当然,有些爬虫会伪装成其他爬虫或浏览器去爬取网站,以获得额外数据。虽然在技术上可以无视Robots协议的限制而任意爬取,但这些行为不提倡。
几乎所以的编程语言和平台都可以实现网络爬虫,常见的有:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。