今日給大家分享的是使用java語言開發的一款開源的爬蟲工具----Heritrix。
大家好,我是奮鬥的小強001,今天這期內容來推薦一款使用java開發的一款開源爬蟲工具(Heritrix),希望能給你帶來幫助。
簡介
Heritrix 是一個由 java 開發的、開源的網路爬蟲,使用者可以使用它來從網上抓取想要的資源。其最出色之處在於它良好的可擴充套件性,方便使用者實現自己的抓取邏輯。是一款SourceForge上的開源產品。
工作原理和工作流程
heritrix做爬蟲抓取工作主要由兩個核心模組兒來完成,一個是core classes核心類,另一個是pluggable modules外掛模組兒。
其核心類是整個爬蟲開發包的核心,可以在此基礎上進行自定義的配置,但是卻不能將核心類進行覆蓋,而相反的是外掛模組可以直接取代,外掛模組兒相當於插拔式的元件,也可以使用自己實現的邏輯來替換掉外掛模組。這樣能夠根據自己的業務需求更好地定製爬蟲抓取需求。
整個heritrix技術的工作原理以及工作流程是由CrawlController下載控制器來決定的,它是整個爬蟲作業的起步者,由它來操控一次爬蟲抓取的開始和結束工作,然後邊界控制器Frontier負責採集收集url,下載控制器負責從邊界控制器中拿到相應的url交給相應的執行緒池進行處理,執行緒池中每一個執行緒負責處理一次url,最後交給Processor chains處理鏈完成結果的整理與處理。
由於heritrix的url抓取工作是由多執行緒來執行的,每一個執行緒對應一次url,完成一次相應的處理器鏈執行一遍。因此,整個抓取工作過程中,最重要的就是這個處理器鏈,下面我們看下處理器鏈是如何進行對於url處理的。
首先是預取鏈兒,顧名思義預取鏈就是預先對url處理之前做一些先決條件的準備工作。
提取鏈就是將url對應的網頁上的全部資訊下載下來進行整理,然後編寫相應的請求響應內容。
抽取鏈:完成上一步的提取內容工作之後,抽取鏈主要負責抽取頁面上的a標籤兒,然後抽取相應的其它的url。
寫鏈主要是對所有的結果進行整理,然後進行儲存。
提交鏈:就是將url抓緊工作做最後的收尾處理,然後將收集到的頁面上的其他的url,只要是在任務範圍內的url提交給Frontier,讓它做其它的抓取工作。
四、heritrix3安裝與下載指導教程
1)下載說明
heritrix3.x版本下載方式還是有很多種的,下面我們為大家推薦常用的幾種下載方式:
1、首先我們推薦heritrix官網直接下載最新版本,因為官網提供提供的版本是最權威和版本最新的,也沒有什麼bug,都是經過官方測試過的,因此是我們首推的下載渠道,但是官網地址在國外,有時需要翻牆訪問。
2、其次就是我們可以直接在GitHub上面下載,因為GitHub是一個原始碼下載的權威網站,下載完之後,直接使用開發工具直接編譯就可以了,不過GitHub上面優先推薦release版本兒。GitHub倉庫地址:https://github.com/internetarchive/heritrix3
2)環境說明
heritrix對環境依賴是有版本要求的,因此我們需要在環境配置這一塊兒做一下說明,本篇文章中介紹的以及下面應用的都是基於heritrix3.2版本的,該版本兒依賴的Java環境JDK是1.7的,目前來講3.2版本貌似還不支援jdk1.8,,如果以後支援了,我們也會在做詳細的說明和備註。
五、Linux系統上面配置環境變數
按照上圖中截圖中的步驟指示,首先需要配置JDK的環境變數,一般學爬蟲的同學對Java應該已經很熟悉了,Java_home的環境變數按照上圖的步驟直接配置即可,我們也不會在做作贅述了。
第三,heritrix啟動和執行都需要許可權才能夠正常啟動,因此需要按照上圖中的命令配置一下執行許可權。
第三,heritrix啟動和執行都需要許可權才能夠正常啟動,因此需要按照上圖中的命令配置一下執行許可權。
六、啟動與執行
由於我們的下載安裝與環境變數配置操作都是在Linux系統上完成的,因此再啟動heritrix的時候,也是需要以命令列的方式進行啟動,下圖是我們的啟動命令方式以及控制檯的細資訊,heritrix登入時的預設的登入名和密碼都是admin。
上面的步驟操作完成以後,說明heritrix已經正常啟動了,我們就可以在瀏覽器進行訪問heritrix的web介面,預設訪問地址是:localhost:8443,這是web介面的訪問地址,需要注意的是瀏覽器請求方式必須是HTTPS訪問。
今天的內容就分享到這裡啦,歡迎您的點贊和關注!謝謝!