网络编程:网络蜘蛛的秘密

  大众网络报 张黎

  编者按:经常去雅虎、搜狐等网站搜索信息的读者一定有这样的疑问:如此庞大的网页信息,到底是如何被这 些网站所收集到的呢?难道都是人工登记并整理的吗?当然不是。这些搜索引擎能够快速地找到如此之多的信 息,和网络蜘蛛的应用是分不开的。

  网络蜘蛛可以算得上是为Internet而开发的最有用处的工具之一。时至今日,要想从以千万计的各不相同 的站点中获取信息,舍网络蜘蛛之外,焉有他哉?mkgud.com

  一个典型的网络蜘蛛(例如雅虎)工作的方式,是查看一个页面,并从中找到相关信息, 然后它再 从该页面的所有链接中出发,继续寻找相关的信息。以此类推,直至穷尽。很快地,就可以在数据库中获得成 千上万的页面和信息。这样的工作方式就如同一张向外发散的蜘蛛网,这正是“网络蜘蛛”这个名称的由来。

  接下来让我们看看如何建立一个网络蜘蛛。在此之前,我们先要了解几个概念。

  一、基本原理

  我们可以用网络蜘蛛搜寻很多东西。事实上,现在有一些特别用途的商用网络蜘蛛,这些软件为它们的开 发者赚取了大把的钞票,比如Altavista科技的一份许可证,就价值30万美元。以下是一个网络蜘蛛的基础原 理:

  * 从各个消息来源收集信息mloij.com

  从技术角度讲,一个网络蜘蛛应该可以不受限制地从任意来源获取信息。来源多多益善。

  * 准确度

  不管是谁,遇见这样的事情肯定都会崩溃——搜索引擎向你返回了一百万个结果,可是,只有最后两个是 你需要的(这还算好的,如果是中间的两个呢?)。所以好的网络蜘蛛对其返回的结果应该有足够的准确度, 而且在有些情况下,还要有特定的功能,也就是说,只返回特定类型的信息——比如www.enfused.com的专为 搜索游戏设计的网络蜘蛛,就只返回与游戏相关的东西。

  * 相对更新

  这依赖于你所使用的技术(下面我们会专门提到),网络蜘蛛应该找回更新后的信息,或者至少是比较新 的信息。如果网络蜘蛛总是找回一些几年前的陈芝麻烂谷子,那你一定会比系统先一步崩溃。

  * 相对快速

  这就不用多说了,如果没有足够的速度,那你的网络蜘蛛再怎么准确,也是白搭。

  二、基本技术mdplo.com

  有好几种方法可以构建网络蜘蛛。第一种,称之为常规网络蜘蛛,只是简单地进行页面寻找,搜索并获得 你想要的东西。例如,用一个短语作为关键词进行搜索。第二种,特殊网络蜘蛛,只寻找页面的特定部分。这 种网络蜘蛛在某些特定场合很有用(比如,你只想获得某一个站点内的新闻标题)。

  常规网络蜘蛛是两者中相对简单的一种。首先,你不需要预先知道目标页面的情况。只需要在该页面中, 以及在与其链接的页面中,寻找你要的关键词就可以了。你还可以在功能中设定,忽略掉那些在同一站点下的 链接,从而保证每一个结果都来源于不同的站点。

  与之相对应,一个特定的网络蜘蛛通常要求你预先知道一些目标页面的情况,例如表格规划等。举个例子 ,如果你搜寻的是一个页面中的新闻标题,你应该先知道限定此标题的HTML标记。如此你才可以直接搜索页面 中正确的部分。在这种情况下,是否具备搜索该页面的所有链接的功能显得不是特别重要,因为你的网络蜘蛛 很可能在别的页面中无法找到标记,不能进行工作。

  运行网络蜘蛛的时间也有所不同:你可以预先运行,也可以实时运行。预先运行意味着当你的网络蜘蛛运 行时,所有搜集到的信息都存贮在一个数据库中,以备以后使用。很明显,如此你将不会获得最新的数据,但 是如果你经常运行网络蜘蛛,这个问题也不会有什么大碍。www.plojv.com

  实时运行意味着你每次运行网络蜘蛛所获得的信息都不会被保存下来,你只能现找现用。例如,如果你在 站点设置了搜索功能,在实时状态下使用网络蜘蛛,则无论何时,只要有用户输入一个关键词并点下“发送” 按钮,你的网络蜘蛛就将运行,而不是仅仅访问数据库。尽管这可以保证你的数据总是最新的,但是却不是大 多数站点的首选,因为网络蜘蛛本身运行和返回数据都需要时间——而时间就是金钱呀!当然,所查找的资料 具有高度时间敏感性的时候例外。

  三、构建网络蜘蛛

  那么如何用ASP构建网络蜘蛛呢?答案是:Internet transfer control (ITC)。这个由 微软提供的控件,将使你能够通过ASP程序访问Internet资源。你可以用ITC搜寻Web页面,访问FTP服务器,甚 至可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值