菜单
  
     网络爬虫,又称为Robots,Spiders以及Wanderers,几乎与网络同时出现。
    第一个网络爬虫是Matthew Gray的Wanderer,出现于1993的春天。在头两届国际万文网会议上出现过数篇关于网络爬虫的论文。但是那时候互联网上的信息规模比现在要小得多,那些文章中并没有阐述如何处理现在所面临的海量网络信息的技术。每个搜索引擎的后台,都有相应的网络爬虫在工作着。但是出于互相竞争的原因,这些网络爬虫的设计并没有公开,除了以下3 个:Google Crawler,Internet Archive Crawler以及Mercator 。7384
    搜索引擎Google中,采用了多台机器进行分布式爬行。它的网络爬虫包括5个功能模块,分别运行在不同的进程中。一个URL Server进程负责从一个 文件里读取URL(Uniform Resource Locator),并把它们分发给多个Crawler进 程。每个Crawler进程运行在不同的机器上,采用单线程和异步I/O同时从近 300个网站上获取数据。所有的Crawler将下载来的数据传输到同一个Store Server进程,它将这些页面压缩并存放在磁盘上。Indexer进程将这些页面从磁 盘上读出,它将URL从HTML页面中抽取出来,并将它们存放在另一个磁盘文 件中。一个URL Resolver进程读取这个存放链接的文件,将其中的相对链接转 化为绝对链接,然后存入一个文件,这个文件供URL Server进程读取。 Internet Archive Crawler也使用多台机器进行爬行 。每个Crawler进程可分 配64个站点同时爬行,并且每个站点最多只分配给一个Crawler来爬行。每个单线程的Crawler进程从磁盘中读取分配给其爬行的站点的种子URL,把它们发送到各自站点的爬行队列中。然后采用异步I/O从这些队列读取链接,下载对应的网页。一旦一个HTML网页下载下来,Crawler就将包含在其中的链接抽取 出来。如果链接指向同一个网站,那就将该链接加入到该站点的队列中;否则,就将该链接存放到磁盘中。一个批处理进程周期地将这些链接进行过滤, 去除重复链接,并把它们放入相应站点的队列中。
    Mercator是一个在可扩展性方面做得非常出色的Crawler 。Mercator完全用Java实现。它采用的数据结构可以不管爬行规模的大小,在内存中只占有限的空间。这些数据结构的大部分都在磁盘上,在内存中只存放有限的部分,伸缩性很强。Mercator采用模块化设计的思想,通过替换以及增减模块可以很方便地实现各种功能,如进行各类Web信息统计以及Web快照,体现了良好的可扩展性。Mercator由5个部分构成,分别负责:给即将付诸下载的URL进行排序;将主机名解析为IP地址;使用HTTP协议下载文档;从HTML文档中提取链 接;检测一个URL是否已经遇到过。
    一个网络爬虫程序通常网络爬虫从种子URL开始,通过网页内容解析,跟随网页上的超链接进行下载。互联网上的信息更新很快,必须定期更新已经 搜集过的旧信息,避免无效链接,同时获取最新信息。只有高效深度的挖掘才能使搜索引擎提供全面、即时的服务。
  1. 上一篇:国内外基于锅炉温度控制的研究现状
  2. 下一篇:五轴联动数控机床国内外发展现状
  1. IIR系统识别国内外研究现状综述

  2. 超大规模集成电路技术国内外研究现状

  3. 自动闭塞分区优化设计国内外研究现状综述

  4. 国内外转载机研究现状及未来趋势

  5. 液压试验台的国内外研究现状和发展趋势

  6. 高速液压冲击加载系统国内外研究现状

  7. 混沌加密通信国内外研究现状综述

  8. 大众媒体对公共政策制定的影响

  9. 电站锅炉暖风器设计任务书

  10. 十二层带中心支撑钢结构...

  11. 当代大学生慈善意识研究+文献综述

  12. 河岸冲刷和泥沙淤积的监测国内外研究现状

  13. 中考体育项目与体育教学合理结合的研究

  14. 乳业同业并购式全产业链...

  15. java+mysql车辆管理系统的设计+源代码

  16. 杂拟谷盗体内共生菌沃尔...

  17. 酸性水汽提装置总汽提塔设计+CAD图纸

  

About

751论文网手机版...

主页:http://www.751com.cn

关闭返回