爬虫的基本要求和考核标准

需要包含以下基本功能:

(1)网站下载流速控制 (间隔抓取、频换代理抓取)

    国内国外的搜索爬虫,科研机构爬虫数量很多,不同的站点抗抓取能力大相径庭,对网站的下载做好控制,避免将网站抓死。 

(2)网页抓全 (解析正确,抓取合理)

   将互联网网页抓全,是极大的挑战,暗网暂且不提,就是明网抓全也不是容易的事情,新站发现,sitemap协议等用站长主动提交的支持等等。 

(3)网页抓新(统计更新周期实时抓取) 

     网页总在不断变化中,如何当网页变化后(更新,消亡)能够及时更新,实时性和死链率等是表征这方面工作的重要指标。 

(4)网页重复抓取的避免(bloom过滤器、set查重)

    为了及时捕捉网页的更新,对同一个网址必须经常去抓取,同样网络是一个网状结构,同一个网址可能被多次引用,这些都导致重复抓取的可能性,如果避免网页抓重,同时控制合理的更新频率,是非常关键的。 

(5)DNS自动解析 (DNS自动解析系统)

  如果抓取每个网页都进行一次DNS解析,那成本就太大了,维护一个DNS自动解析系统,可以大大降低域名服务器的负担,且大大提高效率。 

(6)镜像站点的识别(内容查重)

   网页内容相同,但域名不同的情况比比皆是,其中镜像站点的识别尤为关键。 

(7)抓取的优先级调整(广度优先、PageRank)

     抓取队列总是满的,周而复始,但在抓取的时候会出现,重要的,紧急的,不重要的,不紧急的内容,如何处理好排队的关系尤为重要,是单独开辟绿色通道,还是将其排队号前提都是需要细心打磨的。 

(8)抓取深度控制(记录从种子Url开始解析出的每个url的深度)

      链接展开的深度控制,避免出现单个站点过分抓取,而使得其他站点持续饥饿

(9)多爬虫的协作(多线程)

      爬虫间的通信量要尽可能少,爬虫出现故障后的自动恢复,抓取主机的异地化等等,据说百度在国外部署的爬虫来抓取国外的站点。 

(10)网页下载的存储(MYSQL数据库、本地文件系统)

      网页下载后的本地存储,链接提取,锚文本,链接关系的存储等等。 

(11)死链、跳转的识别和处理 (http状态返回码识别转移,死链?)

     在抓取网页失败后,判断是死链还是宕机,错误下载的网址再次抓取的时间间隔的控制,redirect的网页收集等等。 

考核标准

   (1)总有效的网页数(单机)

   (2)新站发现数(单机)

   (3)无效抓取的网页数(单机)

   (4)镜像站点数(单机)

   (5)全网站点的基本信息(更新周期,死链率,错误率)

   (6)重要网页的抓取及时性(随机抽取盲测)

   (7)抓取稳定性,故障率等

转自:http://blog.csdn.net/pennyliang/article/details/5722407

原文地址:https://www.cnblogs.com/siliconvalley/p/3102782.html