ImageVerifierCode 换一换
格式:DOCX , 页数:92 ,大小:110.98KB ,
资源ID:2959783      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-2959783.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(nutch分析Word文件下载.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

nutch分析Word文件下载.docx

1、 323.1.3 353.1.4 373.1.5 413.1.6 423.1.7 433.1.8 453.1.9 3.1.10 3.1.11 483.1.12 3.1.13 493.1.14 3.1.15 513.1.16 523.1.17 3.1.18 533.1.19 3.1.20 543.1.21 553.1.22 3.1.23 3.1.24 563.1.25 3.2 regex-urlfilter.txt解析 583.3 regex-normalize.xml解析 583.4 总结 594 参考资源 591 Nutch简介1.1 nutch体系结构2 抓取部分2.1 爬虫的数据结构及含

2、义爬虫系统是由Nutch的爬虫工具驱动的。并且把构建和维护一些数据结构类型同一系列工具关联起来:包括web database、一系列的segment和index。接下来我们将详细描述他们。三者的物理文件分别存储在爬行结果目录下的crawldb文件夹内,segments文件夹和index文件夹内。那么三者分别存储的信息是什么呢?Web database,也叫WebDB,其中存储的是爬虫所抓取网页之间的链接结构信息,它只在爬虫Crawler工作中使用而和Searcher的工作没有任何关系。WebDB内存储了两种实体的信息:page和link。Page实体通过描述网络上一个网页的特征信息来表征一个实

3、际的网页,因为网页有很多个需要描述,WebDB中通过网页的URL和网页内容的MD5两种索引方法对这些网页实体进行了索引。Page实体描述的网页特征主要包括网页内的 link数目,抓取此网页的时间等相关抓取信息,对此网页的重要度评分等。同样的,Link实体描述的是两个page实体之间的链接关系。WebDB构成了一个所抓取网页的链接结构图,这个图中Page实体是图的结点,而Link实体则代表图的边。一次爬行会产生很多个segment,每个segment内存储的是爬虫Crawler在单独一次抓取循环中抓到的网页以及这些网页的索引。 Crawler爬行时会根据WebDB中的link关系按照一定的爬行策

4、略生成每次抓取循环所需的fetchlist,然后Fetcher通过 fetchlist中的URLs抓取这些网页并索引,然后将其存入segment。Segment是有时限的,当这些网页被Crawler重新抓取后,先前抓取产生的segment就作废了。在存储中。Segment文件夹是以产生时间命名的,方便我们删除作废的segments以节省存储空间。Index是Crawler抓取的所有网页的索引,它是通过对所有单个segment中的索引进行合并处理所得的。Nutch利用Lucene技术进行索引,所以Lucene中对索引进行操作的接口对Nutch中的index同样有效。但是需要注意的是,Lucene

5、中的segment和Nutch 中的不同,Lucene中的segment是索引index的一部分,但是Nutch中的segment只是WebDB中各个部分网页的内容和索引,最后通过其生成的index跟这些segment已经毫无关系了。2.2 抓取目录分析抓取后一共生成5个文件夹,分别是: crawldb目录存放下载的URL,以及下载的日期,用来页面更新检查时间. linkdb目录存放URL的互联关系,是下载完成后分析得到的. segments:存放抓取的页面,下面子目录的个数于获取的页面层数有关系,通常每一层页面会独立存放一个子目录,子目录名称为时间,便于管理.比如我这只抓取了一层页面就只生成

6、了20090508173137目录.每个子目录里又有6个子文件夹如下: content:每个下载页面的内容。 crawl_fetch:每个下载URL的状态。 crawl_generate:待下载URL集合。 crawl_parse:包含来更新crawldb的外部链接库。 parse_data:包含每个URL解析出的外部链接和元数据 parse_text:包含每个解析过的URL的文本内容。 indexs:存放每次下载的独立索引目录 index:符合Lucene格式的索引目录,是indexs里所有index合并后的完整索引2.3 抓取过程概述引用到的类主要有以下9个:1、 nutch.crawl.

7、Inject用来给抓取数据库添加URL的插入器2、 nutch.crawl.Generator用来生成待下载任务列表的生成器3、 nutch.fetcher.Fetcher完成抓取特定页面的抓取器4、 nutch.parse.ParseSegment负责内容提取和对下级URL提取的内容进行解析的解析器5、 nutch.crawl.CrawlDb负责数据库管理的数据库管理工具6、 nutch.crawl.LinkDb负责链接管理7、 nutch.indexer.Indexer负责创建索引的索引器8、 nutch.indexer.DeleteDuplicates删除重复数据9、 nutch.ind

8、exer.IndexMerger对当前下载内容局部索引和历史索引进行合并的索引合并器2.4 抓取过程分析Crawler的工作原理主要是:首先Crawler根据WebDB生成一个待抓取网页的URL集合叫做Fetchlist,接着下载线程Fetcher开始根据 Fetchlist将网页抓取回来,如果下载线程有很多个,那么就生成很多个Fetchlist,也就是一个Fetcher对应一个Fetchlist。然后Crawler根据抓取回来的网页WebDB进行更新,根据更新后的WebDB生成新的Fetchlist,里面是未抓取的或者新发现的URLs,然后下一轮抓取循环重新开始。这个循环过程可以叫做“产生/

9、抓取/更新”循环。指向同一个主机上Web资源的URLs通常被分配到同一个Fetchlist中,这样的话防止过多的Fetchers对一个主机同时进行抓取造成主机负担过重。另外Nutch遵守Robots Exclusion Protocol,网站可以通过自定义Robots.txt控制Crawler的抓取。在Nutch中,Crawler操作的实现是通过一系列子操作的实现来完成的。这些子操作Nutch都提供了子命令行可以单独进行调用。下面就是这些子操作的功能描述以及命令行,命令行在括号中。1. 创建一个新的WebDb (admin db -create).2. 将抓取起始URLs写入WebDB中 (i

10、nject).3. 根据WebDB生成fetchlist并写入相应的segment(generate).4. 根据fetchlist中的URL抓取网页 (fetch).5. 根据抓取网页更新WebDb (updatedb).6. 循环进行35步直至预先设定的抓取深度。7. 分析链接关系,生成反向链接.(此步1.0特有,具体作用?)8. 对所抓取的网页进行索引(index).9. 在索引中丢弃有重复内容的网页和重复的URLs (dedup).10. 将segments中的索引进行合并生成用于检索的最终index(merge).Crawler详细工作流程是:在创建一个WebDB之后(步骤1), “

11、产生/抓取/更新”循环(步骤36)根据一些种子URLs开始启动。当这个循环彻底结束,Crawler根据抓取中生成的segments创建索引(步骤810)。在进行重复URLs清除(步骤9)之前,每个segment的索引都是独立的(步骤8)。最终,各个独立的segment索引被合并为一个最终的索引index(步骤10)。其中有一个细节问题,Dedup操作主要用于清除segment索引中的重复URLs,但是我们知道,在WebDB中是不允许重复的URL存在的,那么为什么这里还要进行清除呢?原因在于抓取的更新。比方说一个月之前你抓取过这些网页,一个月后为了更新进行了重新抓取,那么旧的segment在没有

12、删除之前仍然起作用,这个时候就需要在新旧segment之间进行除重。下边是在Crawl类设置断点调试每个方法的结果.2.4.1 inject方法描述:初始化爬取的crawldb,读取URL配置文件,把内容注入爬取数据库.首先会找到读取URL配置文件的目录urls.如果没创建此目录,nutch1.0下会报错.得到hadoop处理的临时文件夹:/tmp/hadoop-Administrator/mapred/日志信息如下:2009-05-08 15:41:36,640 INFO Injector - Injector: starting37,031 INFO Injector - Injector

13、: crawlDb: 20090508/crawldb37,781 INFO Injector - Injector: urlDir: urls接着设置一些初始化信息.调用hadoop包JobClient.runJob方法,跟踪进入JobClient下的submitJob方法进行提交整个过程.具体原理又涉及到另一个开源项目hadoop的分析,它包括了复杂的MapReduce架构,此处不做分析。查看submitJob方法,首先获得jobid,执行configureCommandLineOptions方法后会在上边的临时文件夹生成一个system文件夹,同时在它下边生成一个job_local_00

14、01文件夹.执行writeSplitsFile后在job_local_0001下生成job.split文件.执行writeXml写入job.xml,然后执行jobSubmitClient.submitJob正式提交整个job流程,日志如下:52:41,734 INFO Injector - Injector: Converting injected urls to crawl db entries.56:22,203 INFO JvmMetrics - Initializing JVM Metrics with processName=JobTracker, sessionId=2009-05

15、-08 16:08:20,796 WARN JobClient - Use GenericOptionsParser for parsing the arguments. Applications should implement Tool for the same.20,984 WARN JobClient - No job jar file set. User classes may not be found. See JobConf(Class) or JobConf#setJar(String).24:42,593 INFO FileInputFormat - Total input

16、paths to process : 138:29,437 INFO FileInputFormat - Total input paths to process :29,546 INFO MapTask - numReduceTasks:29,562 INFO MapTask - io.sort.mb = 10029,687 INFO MapTask - data buffer = 79691776/9961472029,687 INFO MapTask - record buffer = 262144/32768029,718 INFO PluginRepository - Plugins

17、: looking in: D:workworkspacenutch_crawlbinplugins29,921 INFO PluginRepository - Plugin Auto-activation mode: true29,921 INFO PluginRepository - Registered Plugins:29,921 INFO PluginRepository - the nutch core extension points (nutch-extensionpoints)29,921 INFO PluginRepository - Basic Query Filter

18、(query-basic)29,921 INFO PluginRepository - Basic URL Normalizer (urlnormalizer-basic)29,921 INFO PluginRepository - Basic Indexing Filter (index-basic)29,921 INFO PluginRepository - Html Parse Plug-in (parse-html)29,921 INFO PluginRepository - Site Query Filter (query-site)29,921 INFO PluginReposit

19、ory - Basic Summarizer Plug-in (summary-basic)29,921 INFO PluginRepository - HTTP Framework (lib-http)29,921 INFO PluginRepository - Text Parse Plug-in (parse-text)29,921 INFO PluginRepository - Pass-through URL Normalizer (urlnormalizer-pass)29,921 INFO PluginRepository - Regex URL Filter (urlfilte

20、r-regex)29,921 INFO PluginRepository - Http Protocol Plug-in (protocol-http)29,921 INFO PluginRepository - XML Response Writer Plug-in (response-xml)29,921 INFO PluginRepository - Regex URL Normalizer (urlnormalizer-regex)29,921 INFO PluginRepository - OPIC Scoring Plug-in (scoring-opic)29,921 INFO

21、PluginRepository - CyberNeko HTML Parser (lib-nekohtml)29,921 INFO PluginRepository - Anchor Indexing Filter (index-anchor)29,921 INFO PluginRepository - JavaScript Parser (parse-js)29,921 INFO PluginRepository - URL Query Filter (query-url)29,921 INFO PluginRepository - Regex URL Filter Framework (

22、lib-regex-filter)29,921 INFO PluginRepository - JSON Response Writer Plug-in (response-json)29,921 INFO PluginRepository - Registered Extension-Points:29,921 INFO PluginRepository - Nutch Summarizer (org.apache.nutch.searcher.Summarizer)29,921 INFO PluginRepository - Nutch Protocol (org.apache.nutch

23、.protocol.Protocol)29,921 INFO PluginRepository - Nutch Analysis (org.apache.nutch.analysis.NutchAnalyzer)29,921 INFO PluginRepository - Nutch Field Filter (org.apache.nutch.indexer.field.FieldFilter)29,921 INFO PluginRepository - HTML Parse Filter (org.apache.nutch.parse.HtmlParseFilter)29,921 INFO

24、 PluginRepository - Nutch Query Filter (org.apache.nutch.searcher.QueryFilter)29,921 INFO PluginRepository - Nutch Search Results Response Writer (org.apache.nutch.searcher.response.ResponseWriter)29,921 INFO PluginRepository - Nutch URL Normalizer (.URLNormalizer)29,921 INFO PluginRepository - Nutch URL Filter (.URLFilter)29,921 INFO PluginRepository - Nutch Online Search Results Clustering Plugin (org.apache.nutch.clustering.OnlineClusterer)29,921 INFO PluginRepository - Nutch Indexi

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2