基于hadoop搜索引擎——网页爬取
本系统抓取的是某网站的bbs论坛,具体情况可以根据自己的需求选择。
1.爬取思路
爬取策略是深度优先爬取。算法思想如下:
从网站主页开始,执行如下步骤:
(1)选择一个尚未爬取的频道(比如有社会,人文,娱乐);如果所有频道都已经爬完,算法结束
(2)在已选择的频道中,选择一个尚未爬取的板块(比如有八卦娱乐,情感杂谈等);如果本频道中所有版块都爬取完,返回步骤1;
(3)在已选择的板块中,一次爬取所有的帖子,知道爬完本板块中的所有帖子;
(4)返回步骤2,继续深度优先爬取。
简而言之,一次查看每个频道,对每个频道则是逐个爬取其中的每个板块,对每个板块,则是顺序爬取其中的所有帖子;爬完一个板块中所有的帖子之后再爬取下一个板块。
2.爬取实现
网页爬取的实现主要使用的PHP网页爬取,借助了PHPCrawl,具体使用可以去网上搜索教程,下面给出一个简单的实例:
<?php
// It may take a whils to crawl a site ...
set_time_limit(10000);
// Inculde the phpcrawl-mainclass
include("libs/PHPCrawler.clas