您的位置:首页 > 理论基础 > 计算机网络

写网络爬虫程序 注意点1:网页Type枚举

2011-03-09 00:00 246 查看
爬虫程序中重要的网页Type枚举

google 开辟了搜索引擎的时代,而 google spider 却是google 强大背后的一条 庞大的虫子。

spider 即是 网络爬虫,网络上也有很多叫 crawler 。

爬虫最原始工作有三步:

获取网站种子页面

解析网页 遍历urls

通过发送请求下载网页

今天我们不谈它的工作原理,或者更高的处理机制。今天就谈下网络爬虫 spider 对网页解析处理中的重要一点:定义网页Type的枚举类型。

我以前为了兴趣,抓了50几个军事军情网站,做了个简单的军事新闻搜索,但后来给其他原因和谐了。

抛砖引玉,处理类似于新闻类网站,就必须对网站结构和网页类型有了解。 通常 主页做为种子网页,主页上将会有 不同频道的二级主

页,拿环球huanqiu.com来说,二级频道有 国际 中国 社会 台海 军事 航空 等等。

当点击军事进去二级主页时,发现仍然还有 国际军事 、中国军事等频道。

总结:像只包含各个频道 url 列表,并没有较多正文内容的网页 称之为 ListPage (列表页面)

相对对应军事主页中的一条新闻url ,点击进去有较多的正文,突出url链接主题,我们定义为 DetailPage(详细的)

并不是没有特殊情况,如遇到 既没有 url 列表 也没有 突出主题的正文内容,我们定义为 UnknowPage (未知的)

还有一种情况,下载的网页无法检测到内容,错误的下载网页,我们定义为NullPage (空的)

我们实际中做爬虫程序,需要对目标网站和网页进行更详细的分析,来保证爬虫的正常工作。

以上定义的网页type类型,我认为已经达到 通用爬虫对网页抓取的要求。

列下我的对象结构(Java):

package spider.page;

public enum PageType {

DetailPage,

ListPage,

UnknowPage,

NullPage

}

先前这个爬虫只能做到通过计算 抽取到新闻正文,如何才能精确获取页面上的每个点的text,后面有空 我们在讨论。

So1y.com 柏冰冰

2011年-3月-9日
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: