zoukankan      html  css  js  c++  java
  • 爬虫的基本要求和考核标准

    需要包含以下基本功能:

    (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

  • 相关阅读:
    由前序和中序遍历结果构建二叉树
    Java学习笔记数组与ArrayList
    Java学习笔记字符串
    Java学习笔记关于默认类型或访问权限的总结
    javascript学习笔记之事件和事件处理
    2010年2月1日学习笔记
    Web.config保存整个站点的设置
    ANT的十五大最佳实践
    配置ajaxToolkit的方法【转】
    Java学习笔记Iterator迭代器(Ps.instanceof的用法)
  • 原文地址:https://www.cnblogs.com/siliconvalley/p/3102782.html
Copyright © 2011-2022 走看看