日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Nutch抓取流程

發布時間:2025/7/14 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Nutch抓取流程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

nutch抓取流程
注入起始url(inject)、生成爬取列表(generate)、爬取(fetch)、解析網頁內容(parse)、更新url數據庫(updatedb)
1:注入起始url(inject)
org.apache.nutch.crawl.Injector
注入待抓取URL,因為Nutch的抓取程序要抓取網頁,肯定需要有一個或者多個入口url。
nutch會按照廣度優先策略(一般有廣度優先策略和深度優先策略)進行抓取,根據前面指定
的url進行抓取工作。

url存儲具體格式為<Text, CrawlDatum>。其中的key表示該URL的地址,而value則是Nutch
自己定義的一個類型“CrawlDatum”,該類型實現了"Writable"接口,用來表示頁面的一些
屬性。

“CrawlDatum"類所在位置:org.apache.nutch.crawl.CrawlDatum
其中包括了頁面的狀態,抓取時間,抓取間隔等屬性。

inject過程把這些數據存儲到crawldb目錄中。

2:生成爬取列表(generate)
org.apache.nutch.crawl.Generator
生成segment。這一步驟主要是對上一步提交的URL集合進行分析,確定抓取任務的詳細信息。
在segments目錄下新建一個System.currentTimeMillis()時間標識的文件,如:20150906145715
另外遍歷crawlDb,取出topN個需要fetch的urlList,【topN的配置屬性是:generate.topN,
nutch-default.xml中沒有配置這個屬性,查看代碼發現如果沒有配置默認是long的最大值
job.getLong(GENERATOR_TOP_N, Long.MAX_VALUE),分析crawl腳本發現這個值會被設置為50000
numSlaves=1
sizeFetchlist=`expr $numSlaves \* 50000`
generate_args=($commonOptions "$CRAWL_PATH"/crawldb "$CRAWL_PATH"/segments -topN $sizeFetchlist -numFetchers $numSlaves -noFilter)

存放到segments/20150906145715/crawl_generate文件中,
crawl_generate 為SequenceFile文件


3:爬取(fetch)
org.apache.nutch.fetcher.Fetcher
分析提交的URL集合之后,將頁面內容抓取下來,存于segment目錄下。
抓取過程中,頁面的URL地址可能因為鏈接發生改變(302重定向),從而需要更新URL地址;
例如:京東手機分類url:http://list.jd.com/9987-653-655.html,
打開之后url就變成這個了:http://list.jd.com/list.html?cat=9987,653,655
抓取采用多線程方式進行,以提高抓取速度;參數為:fetcher.threads.fetch,默認最大線程數量為10,
使用crawl腳本的話線程數會被設置為50,
【numThreads=50
__bin_nutch fetch $commonOptions -D fetcher.timelimit.mins=$timeLimitFetch "$CRAWL_PATH"/segments/$SEGMENT -noParsing -threads $numThreads

fetch操作過程中調用了parse操作。


4:解析(parse)
org.apache.nutch.parse.ParseSegment
內容解析器。抓取到的頁面文件被提交到這里,實現對頁面文件的處理,包括頁面文件的分析和處理

4.1:parsed text &data
解析segment中由fetch得到的頁面,并進行整理,將頁面分成為parse-date和parse-text
parse-date中保存的是頁面的題名、作者、日期、鏈接等元數據信息;
parse-text中保存的是頁面的文本內容。

通過上面幾步操作,創建了如下幾個目錄
content、crawl_fetch、crawl_generate、crawl_parse、parse_data、parse_text

content
包含下載頁面的原始數據,存儲為map文件,格式是<url,Content>。為了展示快摘頁面,
這里使用文件存儲數據,因為Nutch需要對文件做快速隨機的訪問。

crawl_generate
它包含將要爬取的URL列表以及從CrawlDb取到的與這些URL頁相關的當前狀態信息,
對應的文件的格式<url,CrawlDatum>。

crawl_fetch
它包含數據爬取的狀態信息,即爬取是否成功相應碼是什么,等等。
這個數據存儲在map文件里,格式是<url,CrawlDatum>

crawl_parse
每個成功爬取并解析的頁面的鏈接列表都保存在這里,頁面中解析出來的鏈接
都保存在這里面也是<url,CrawlDatum>格式存儲的。

parse_date
解析過程中收集的元數據,使用<url,ParseData>格式存儲的

parse_text
存儲的是網址和標題信息,使用<url,ParseText>格式存儲的

5:更新url數據庫(updatedb)
根據第四步的解析結果更新crawldb數據庫
其實這一步就是調用CrawlDb.java中的update方法,從第95和96行代碼可以發現
其實就是根據第四步生成的crawl_fetch和crawl_parse中的數據文件進行更新。

?


本文轉自SummerChill博客園博客,原文鏈接:http://www.cnblogs.com/DreamDrive/p/5947898.html,如需轉載請自行聯系原作者

總結

以上是生活随笔為你收集整理的Nutch抓取流程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 午夜在线精品 | 饥渴的少妇和男按摩师 | 亚洲美女精品视频 | 久久久久久久久久久久国产精品 | 九九热精品在线视频 | 在办公室被c到呻吟的动态图 | 制服 丝袜 综合 日韩 欧美 | 国产在线观看免费高清 | 在线视频观看你懂得 | 韩日av在线播放 | 麻豆av一区 | 国产精品国产三级国产aⅴ 欧美bbbbbbbbbbbb18av | av综合网站| 欧美人妖老妇 | 玉足脚交榨精h文 | 快播在线视频 | 成人毛片视频免费看 | 91视频一区二区三区 | 欧美11p | 九热这里只有精品 | av午夜在线 | 国产深喉视频一区二区 | 久久免费视频3 | 日韩精品一区二区在线播放 | 亚洲精品欧洲 | 欧美高清一区二区 | 亚洲欧洲成人精品久久一码二码 | 国语一区 | 理论片一级 | 2021中文字幕 | 人人妻人人澡人人爽 | 亚洲一区二区影视 | 日本在线不卡一区二区三区 | 亚洲社区在线 | 亚洲va在线观看 | 亚色综合 | 色婷婷影院 | 久久蜜桃av | 澳门黄色一级片 | 亚洲欧洲日本一区二区三区 | 欧美激情一二区 | 日韩久 | 91视频一区二区 | 丁香花国语版普通话 | 亚洲1区 | 嘿咻视频在线观看 | 尤物在线观看 | 日本道在线观看 | 成人va在线观看 | 国产视频麻豆 | 国产乱码精品一区二区三区亚洲人 | 欧美三级午夜理伦三级小说 | zzji欧美大片 | 国产永久在线观看 | 国产欧美三级 | 青青草国产成人av片免费 | 香蕉网站视频 | 国产福利视频网站 | 黄色片网站免费看 | 国产高清不卡一区 | 91麻豆蜜桃一区二区三区 | 国产在线免费av | 前任攻略在线观看免费完整版 | 夜夜撸小说 | 色婷婷在线播放 | 中国成人av| 久久加久久 | 九草视频在线观看 | av网站在线免费 | av之家在线 | 91射| 337p日本欧洲亚洲大胆精筑 | 丝袜脚交免费网站xx | 国产亚洲精品精品精品 | 亚州欧美日韩 | 日本不卡视频在线播放 | 成人一区二区免费视频 | 欧产日产国产精品 | 欧美20p| 欧美在线性 | www,超碰 | 国产一区二区三区小说 | 国产卡一卡二卡三无线乱码新区 | 午夜一区二区三区在线观看 | 日本一区二区三区成人 | 一区视频免费观看 | 91欧美在线 | 影音先锋男人资源网站 | 国产精品美乳在线观看 | 精品免费国产一区二区三区 | 农村少妇| 免费黄色小网站 | 玖玖色资源| 亚洲一区二区免费电影 | 亚洲在线| 九色91porny| 在线色网站 | 日韩欧美一区二区三区免费观看 | 国产精品人人做人人爽人人添 |