网络爬虫(spider)程序的编程实现

转载 2007年09月19日 13:29:00
随着网络的迅速发展,万维网成为大量信息的载体,如何有效地提取并利用这些信息成为一个巨大的挑战。搜索引擎(Search Engine),例如传统的通用搜索引擎AltaVista,百度,Yahoo!和Google等,作为一个辅助人们检索信息的工具成为用户访问万维网的入口和指南。

      网络爬虫是一个自动提取网页的程序(网络蜘蛛),它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件.

搜索引擎中网络爬虫的设计分析

1】 网络爬虫高度可配置性。
可以配置网络参数,例如带宽等等

2】 网络爬虫可以解析抓到的网页里的链接
这是必须的,要不你爬什么呢?

3】 网络爬虫有简单的存储配置
爬下来的东西要怎么存

4】 网络爬虫拥有智能的根据网页更新分析功能
最傻的做法是没有时间更新权重,一通的爬,回头再一通的爬。
通常在下一次爬的的数据要跟上一次进行比较,如果连续5次都没有变化,那么将爬这个网页的时间间隔扩大1倍。
如果一个网页在连续5次爬取的时候都有更新,那么将设置的爬取时间缩短为原来的1/2。

5】 网络爬虫的效率相当的高
这是最关键的,涉及到MONEY, 别人一台机器一天能爬100G, 你要100台机器,那你死定了。

     应该说各种爬虫的目的不一样,有的是爬邮件地址,有的爬客户信息,有的爬图片,有的爬音乐,有的什么都要(例如搜索引擎),但各种爬虫中,最重要的一点是下载效率要高,要能耗尽机器的资源。

     机器的资源是什么呢? 最主要两种:CPU运算资源,网络带宽资源。在目前条件下,网络带宽资源更珍贵,所以优先耗尽带宽资源,如果带宽资源耗不尽时CPU都已经100%了,简单,再买一台机器。带宽比机器贵多了阿。

     所以在爬虫程序中,效率是最关键的,下面是用糖果下载组件来实现的一个简单的爬虫,它能把任何机器的带宽耗尽,只要调节并发任务参数。当然百度地链接都是可下载的,即使所有url中有30%的死链接,依然可以达到这个速度,因为其并发参数是可调的, 发现下载速度小于最大速度时,增加并发任务数就可以了。

    

    (本程序的VC6工程在糖果下载组件中安装包中提供)

       测试时用的一台512K的ADSL上网机器,512K说的是位(bit), 转换为字节速度是512/8 = 64k字节/秒。 而这个爬虫的平均下载速度达到76k/s, 说明已经把带宽耗尽了。按照这个速度,这台机器一天能爬 76*86400 = 6.6G.

 

相关文章推荐

网络爬虫程序spider

  • 2014年12月17日 16:20
  • 69KB
  • 下载

开源网络爬虫程序(spider)一览

spider是搜索引擎的必须模块.spider数据的结果直接影响到搜索引擎的评价指标. 第一个spider程序由MIT的Matthew K Gray操刀该程序的目的是为了统计互联网中主机的数目 >...
  • zbyufei
  • zbyufei
  • 2012年05月10日 15:51
  • 2613

学习脚步---- 网络爬虫(Spider)Java实现原理(转载)

学习脚步---- 网络爬虫(Spider)Java实现原理(转载) Java网络协议SwingHTML.net                                      ...

网络爬虫(Spider)Java实现原理

“网络蜘蛛”或者说“网络爬虫”,是一种能访问网站并跟踪链接的程序,通过它,可快速地画出一个网站所包含的网页地图信息。本文主要讲述如何使用Java编程来构建一个“蜘蛛”,我们会先以一个可复用的蜘蛛类包装...

网络爬虫、spider程序、网络蜘蛛

问题?网络爬虫、spider程序、网络蜘蛛 定义:Spider又叫WebCrawler或者Robot,是一个沿着链接漫游Web 文档集合的程序。它一般驻留在服务器上,通过给定的一些URL,利用HTT...
  • Mr_li13
  • Mr_li13
  • 2016年01月04日 20:57
  • 1274

网络爬虫(Spider)Java实现原理(转载)

网络爬虫(Spider)Java实现原理      “网络蜘蛛”或者说“网络爬虫”,是一种能访问网站并跟踪链接的程序,通过它,可快速地画出一个网站所包含的网页地图信息。本文主要讲述如何使用Jav...

网络爬虫 C++ Crawler Spider

  • 2009年05月31日 00:14
  • 4.54MB
  • 下载

spider网络爬虫

  • 2013年05月03日 09:02
  • 2.18MB
  • 下载

网络爬虫,,,spider

这段时间要做一个门户网站,新闻模块的信息采集,谈到信息采集,就想到了网络爬虫,毕竟我们没有太多的经历去自己写新闻,那么sina,sohu,就不好意思了,借用一下信息,网络提倡资源共享,这也是我一直追求...
  • duantl
  • duantl
  • 2011年08月10日 20:10
  • 448
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:网络爬虫(spider)程序的编程实现
举报原因:
原因补充:

(最多只允许输入30个字)