对nutch爬虫的一些理解

来源:互联网 发布:建筑电气常用数据 编辑:程序博客网 时间:2024/06/07 13:31

下图提供网上找来的相关流程图片,以便于理解:

 

总结如下: 
1) 建立初始 URL 集 
2) 将 URL 集注入 crawldb 数据库---inject 
3) 根据 crawldb 数据库创建抓取列表---generate 
4) 执行抓取,获取网页信息---fetch

5) 解析抓取的内容---parse segment  
6) 更新数据库,把获取到的页面信息存入数据库中---updatedb 
7) 重复进行 3~5 的步骤,直到预先设定的抓取深度。---这个循环过程被称为“产生/抓取/更新”循环 
8) 根据 sengments 的内容更新 linkdb 数据库---invertlinks 

9) 建立索引---index


-----------------------------------------------------------------------------------------------------------------------

topN n  第一次抓取注入的url的n条url(根据权重分值, 每个url都有一个分数,是根据这个分数来排序的。你可以通过插件来扩展这个ScoreFilter的generatorSortValue来实现对url的排序)。第一层抓取结束后通过解析把第一层抓取到的url(假设每个页面平均有5个超级链接,则生成5N条新的url)生成新的url集加入到CrawDb中。(如果第一层的url没有抓完的话,第二层生成的N个url也会有第一层的url)。
然后接着下一层的抓取(循环以上操作,depth是就抓取的深度,也就是循环的次数)。
------------------------------------------------------------------------------------------------------------------------------

手动设置种子网址的url,设置fetchInterval(再次抓取的时间间隔 单位:秒)和score(分数可以在generate的时候提高抓取的机制)
http://news.163.com nutch.fetchInterval=xxxx nutch.score=100  (中间是tab不是空格)

0 0
原创粉丝点击