垂直搜索引擎蜘蛛的基本解决方案(编程实例:所以推荐)

来源:互联网 发布:php is numeric 编辑:程序博客网 时间:2024/06/01 23:09

最初接触搜索引擎是2年前,一位北京的朋友(对我帮助很大)让我帮他设计了一只抓网页的蜘蛛。当时我头一次听说蜘蛛,半天没有回过神来,心想:蜘蛛?莫非是蜘蛛机器人?后来我还知道,蜘蛛也被人称为爬虫,正规的名称叫Spider。
          第一次写蜘蛛的程序时,阅读了很多规范,同时找到了几个c#代码的(c#是朋友要求的语言)免费的Html解析的库(我记得有一个是解析SGML规范的)。可惜的是,国内的页面都是乱七八糟的,这2个库根本就是无能为力,连163的首页都无法正确解析。于是,我只好自己写了,代码不是很长(三五千行),构建dom树。(后来我把这个程序的结果发给百度,想找份工作,结果未见回音)当时遇到的主要问题有三:1)dom树的解析和容错;2)多线程下载和Url过滤;3)页面编码的分析。
当我离开学校,进入现在的公司的时候,是1年前的事情。进入的时候,我就想做点事情:构建一个垂直搜索引擎的完整解决方案。我没有想到这个事情是无法完成的,所以到目前为止,我也只是完成了一个十分局限的解决方案。

以上这篇文章我曾经转载过,现在作者似乎推出了完整的版本,由于文章太长,只好给个链接:

http://hi.baidu.com/algorithms/blog/item/1cce0a2a0b39793a5243c163.html

作者用编程实例说明了一下问题:值得一看。

1、垂直搜索引擎的定义

2、蜘蛛的主要任务

2.1 检索器

2.2 页面获取

2.3 页面解析

2.4 页面JS解析

3 信息抽取

3.1 列表页面的处理

3.2 详细页面的处理

原创粉丝点击