最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java爬蟲技術框架之Heritrix框架詳解

 更新時間:2020年07月22日 17:20:58   作者:moonsoft  
這篇文章主要介紹了爬蟲技術框架之Heritrix框架詳解,文中通過示例介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

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

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

一、Heritrix介紹

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

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

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

二、Heritrix架構

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

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

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

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

三、一些API

org.archive.crawler.framework.CrawlJob;

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

等等

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

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

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

CrawlScope:決定當前抓取范圍;

ProcessorChainList:處理器鏈;

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

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

中央控制器CrawlControllr的類結構如圖所示:

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

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

Heritrix的多線程ToeThread和ToePool:要想更快更有效地抓取網頁,必須采用多線程,Heritrix則采用多線程機制,提供了一個標準的線程池ToePool,用于管理所有的抓取線程。

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

四、應用

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

到此這篇關于爬蟲技術框架之Heritrix框架詳解的文章就介紹到這了,更多相關爬蟲技術框架 Heritrix內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 詳解python statistics模塊及函數(shù)用法

    詳解python statistics模塊及函數(shù)用法

    本節(jié)介紹 Python 中的另一個常用模塊 —— statistics模塊,該模塊提供了用于計算數(shù)字數(shù)據(jù)的數(shù)理統(tǒng)計量的函數(shù)。這篇文章重點給大家介紹python statistics 模塊的一些用法,感興趣的朋友跟隨小編一起看看吧
    2019-10-10
  • OpenCV4.1.0+VS2017環(huán)境配置的方法步驟

    OpenCV4.1.0+VS2017環(huán)境配置的方法步驟

    這篇文章主要介紹了OpenCV4.1.0+VS2017環(huán)境配置的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • Python項目跨域問題解決方案

    Python項目跨域問題解決方案

    這篇文章主要介紹了Python項目跨域問題解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-06-06
  • 深入理解Python虛擬機中魔術方法的使用

    深入理解Python虛擬機中魔術方法的使用

    這篇文章主要給大家介紹在?cpython?當中一些比較花里胡哨的魔術方法,以幫助我們自己實現(xiàn)比較花哨的功能,當然這其中也包含一些也非常實用的魔術方法,需要的可以參考下
    2023-05-05
  • 詳解python實現(xiàn)讀取郵件數(shù)據(jù)并下載附件的實例

    詳解python實現(xiàn)讀取郵件數(shù)據(jù)并下載附件的實例

    這篇文章主要介紹了詳解python讀取郵件數(shù)據(jù)并下載附件的實例的相關資料,這里提供實現(xiàn)實例,幫助大家學習理解這部分內容,需要的朋友可以參考下
    2017-08-08
  • Python變量的賦值、淺拷貝和深拷貝詳解

    Python變量的賦值、淺拷貝和深拷貝詳解

    這篇文章主要介紹了Python變量的賦值、淺拷貝和深拷貝詳解,python中為聲明一個變量有三種方法:賦值、淺拷貝、深拷貝,相信每個pythoner或多或少都知道他們之間的區(qū)別,但在某些點上,還是會踩坑,這篇文章記錄下所有關于這三者區(qū)別的疑問,需要的朋友可以參考下
    2023-11-11
  • Python SVM(支持向量機)實現(xiàn)方法完整示例

    Python SVM(支持向量機)實現(xiàn)方法完整示例

    這篇文章主要介紹了Python SVM(支持向量機)實現(xiàn)方法,結合完整實例形式分析了基于Python實現(xiàn)向量機SVM算法的具體步驟與相關操作注意事項,需要的朋友可以參考下
    2018-06-06
  • python爬取網頁轉換為PDF文件

    python爬取網頁轉換為PDF文件

    這篇文章主要為大家詳細介紹了python爬取網頁轉換為PDF文件,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • Python通過Manager方式實現(xiàn)多個無關聯(lián)進程共享數(shù)據(jù)的實現(xiàn)

    Python通過Manager方式實現(xiàn)多個無關聯(lián)進程共享數(shù)據(jù)的實現(xiàn)

    這篇文章主要介紹了Python通過Manager方式實現(xiàn)多個無關聯(lián)進程共享數(shù)據(jù)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-11-11
  • 對Python中DataFrame選擇某列值為XX的行實例詳解

    對Python中DataFrame選擇某列值為XX的行實例詳解

    今天小編就為大家分享一篇對Python中DataFrame選擇某列值為XX的行實例詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01

最新評論

肃南| 长治县| 郧西县| 汝阳县| 榆社县| 博罗县| 贡山| 炉霍县| 临夏市| 敦化市| 泌阳县| 大关县| 峨边| 克东县| 鹰潭市| 怀安县| 金乡县| 万年县| 秭归县| 郧西县| 鸡泽县| 沙田区| 类乌齐县| 苏尼特右旗| 娄烦县| 金昌市| 平昌县| 天门市| 建宁县| 孙吴县| 搜索| 融水| 青川县| 安徽省| 阿坝| 东台市| 夏河县| 阳泉市| 江源县| 邵武市| 阳原县|