国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

Java爬蟲技術(shù)框架之Heritrix框架詳解

瀏覽:5日期:2022-08-28 14:41:40

Heritrix是一個由Java開發(fā)的開源Web爬蟲系統(tǒng),用來獲取完整的、精確的站點內(nèi)容的深度復(fù)制,

具有強大的可擴展性,運行開發(fā)者任意選擇或擴展各個組件,實現(xiàn)特定的抓取邏輯。

一、Heritrix介紹

Heritrix采用了模塊化的設(shè)計,用戶可以在運行時選擇要用的模塊。它由核心類(core classes)和插件模塊(pluggable modules)構(gòu)成。

核心類可以配置,但不能被覆蓋,插件模塊可以由第三方模塊取代。所以我們就可以用實現(xiàn)了特定抓取邏輯的第三方模塊來取代默認(rèn)的插件模塊,從而滿足自己的抓取需要。

CrawlController(下載控制器)整個下載過程的總控制者,整個抓取工作的起點,決定整個抓取任務(wù)的開始和結(jié)束。每個URI都有一個獨立的線程,它從邊界控制器(Frontier)獲取新的URI,然后傳遞給Processor chains(處理鏈)經(jīng)過一系列Processor(處理器)處理。

Java爬蟲技術(shù)框架之Heritrix框架詳解

二、Heritrix架構(gòu)

中央控制器 CrawlController 是核心組件,決定了整個抓取任務(wù)的開始與結(jié)束。

用戶在 Heritrix web UI 控制臺設(shè)置抓取任務(wù)后,heritrix首先構(gòu)造XMLSettingsHandler對象,然后調(diào)用CrawlController的構(gòu)造函數(shù),構(gòu)造一個CrawlController實例并初始化,這樣,CrawlController就具備了運行條件。

此時,只需調(diào)用 requestCrawlStart()方法就可以啟動線程池和Frontier,以便向線程池中工作線程提供抓取用的URL鏈接。

Java爬蟲技術(shù)框架之Heritrix框架詳解

Heritrix 3.x 的框架主要分為 Engine 和 Component

三、一些API

org.archive.crawler.framework.CrawlJob;

org.archive.crawler.postprocessor.CandidatesProcessor;org.archive.modules.CrawlURI;

等等

抓取任務(wù)CrawlOrder類:是整個抓取工作的起點。一次抓取任務(wù)包括許多屬性,建立一個任務(wù)的方式有很多種,最簡單的一種就是根據(jù)默認(rèn)的order.xml來配置。

中央控制器CrawlController:該類決定著抓取任務(wù)的開始和結(jié)束。它包含以下幾個組件:

CrawlOrder:該類保存了order.xml的屬性配置;

CrawlScope:決定當(dāng)前抓取范圍;

ProcessorChainList:處理器鏈;

Frontier:一次抓取任務(wù)需要設(shè)定一個Frontier,以此來不斷為其每個線程提供URI;

ToePool:它是一個線程池,管理了所有在當(dāng)前任務(wù)中抓取過的Host名稱和Server名稱。

中央控制器CrawlControllr的類結(jié)構(gòu)如圖所示:

Java爬蟲技術(shù)框架之Heritrix框架詳解

Frontier鏈接制造工廠:它表示一種為線程提供鏈接的工具,通過一些特定的算法來決定哪個鏈接將接下來被送入處理器鏈中,同時,它本身也負責(zé)一定的日志和狀態(tài)報告功能。

BdbFrontier類:它是用Berkeley DB 實現(xiàn)的,Berkeley DB 就是一個HashTable,它能夠按“key/value”方式保存數(shù)據(jù),能夠為應(yīng)用程序提供可伸縮的、高性能的、有事務(wù)保護功能的嵌入式數(shù)據(jù)庫。

Heritrix的多線程ToeThread和ToePool:要想更快更有效地抓取網(wǎng)頁,必須采用多線程,Heritrix則采用多線程機制,提供了一個標(biāo)準(zhǔn)的線程池ToePool,用于管理所有的抓取線程。

處理器鏈 Processor:包括PreProcessor、Fetcher、Extractor、Writer、PostProcessor五種。

四、應(yīng)用

作為爬蟲模塊,爬取數(shù)據(jù)

Java爬蟲技術(shù)框架之Heritrix框架詳解

到此這篇關(guān)于爬蟲技術(shù)框架之Heritrix框架詳解的文章就介紹到這了,更多相關(guān)爬蟲技術(shù)框架 Heritrix內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 99精品视频免费观看 | 国产精品亚洲欧美日韩一区在线 | 成人夜色香网站在线观看 | 国产成人亚洲毛片 | 久久手机精品视频 | 国产三级日产三级日本三级 | 久久视频在线观看免费 | 国产男女爽爽爽爽爽免费视频 | 成人免费视频一区 | 一区二区三区视频网站 | 欧美一级高清视频在线播放 | 亚洲综合亚洲综合网成人 | 亚洲国产欧美自拍 | 高清毛片aaaaaaaaa片 | 国产精品人成人免费国产 | 国产一区成人 | 亚洲成人一级片 | 国产成人欧美视频在线 | 9久re在线观看视频精品 | 国产亚洲欧美另类久久久 | 亚洲一区二区三区四区五区六区 | 久草福利社 | 中文乱码一二三四有限公司 | 国产精品揄拍一区二区久久 | 北岛玲亚洲一区在线观看 | 欧美成本人视频 | 国内久久久| 成年人黄国产 | 久久精品视频9 | 久久亚洲国产 | 最新亚洲精品国自产在线 | 国内久久久久影院精品 | 色偷偷亚洲女人天堂观看欧 | 日本在线观看免费视频网址 | 亚洲视频免费播放 | shkd在线观看 | 中日韩欧美一级毛片 | 黑人巨大交牲老太 | 九草在线免费观看 | 一级毛片在线免费观看 | 亚洲精品国产精品国自产网站 |