规划网页的抓取

适当地规划网页的抓取,限制单位时间内对一个网站抓取网页的数量(例如每天不超过2万个,或者至少每隔30秒才对同一个网站发出下一个网页请求,等等),是大规模搜索引擎必须要认真对待的问题。总之,搜索引擎需要和网站“和睦相处”,它们是相互依存的。可以考虑一个网站从主页开始向下,按照链接的深度将网页组织成一层层的,上层中的网页统计上会比下层的网页重要些。这样一种认识通过PageRank得到了加强,即较靠近主页的网页通常PageRank值较高。这样,首先得到尽量多的主页,然后从主页开始的先宽搜索就应该是一个较好的策略。

要保证每个网页不被重复抓取。由于一篇网页可能被多篇网页链接,在spider爬取过程中就可能多次得到该网页的url。于是如果不加检查和控制,网页就会被多次抓取。遇到循环链接的情况,还会使爬取器陷死。解决这个问题的有效方法是使用两个表,unvisited_table和visited_table。前者包含尚未访问的url,后者记录已访问的url。系统首先将要搜集的种子url放入unvisited_table,然后spider从其中获取要搜集网页的url,搜集过的网页url放入visited_table中,新解析出的并且不在visited_table中的url加入unvisited_table。此方法简单明了,适合在单个节点上实现。

猜你喜欢

转载自deepfuture.iteye.com/blog/573820
今日推荐