




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 報告人:曹宇報告人:曹宇 網絡爬蟲是一個自動提取網頁的程序,它為搜索引網絡爬蟲是一個自動提取網頁的程序,它為搜索引擎從萬維網上下載網頁,是擎從萬維網上下載網頁,是搜索引擎搜索引擎的重要組成。的重要組成。 傳統爬蟲從一個或若傳統爬蟲從一個或若干初始網頁的干初始網頁的URLURL開始,開始,獲得初始網頁上的獲得初始網頁上的URLURL,在抓取網頁的過程中,不在抓取網頁的過程中,不斷從當前頁面上抽取新的斷從當前頁面上抽取新的URLURL放入隊列放入隊列, ,直到滿足系直到滿足系統的一定停止條件,流程統的一定停止條件,流程圖所示。圖所示。一、通用網絡爬蟲和聚焦網絡爬蟲一、通用網絡爬蟲和聚焦網絡爬蟲
2、聚焦爬蟲的工作流程聚焦爬蟲的工作流程較為復雜,需要根據一定較為復雜,需要根據一定的網頁分析算法過濾與主的網頁分析算法過濾與主題無關的鏈接,保留有用題無關的鏈接,保留有用的鏈接并將其放入等待抓的鏈接并將其放入等待抓取的取的URLURL隊列。然后,它將隊列。然后,它將根據一定的搜索策略從隊根據一定的搜索策略從隊列中選擇下一步要抓取的列中選擇下一步要抓取的網頁網頁URLURL,并重復上述過程,并重復上述過程,直到達到系統的某一條件直到達到系統的某一條件時停止時停止, 如圖所示如圖所示。 另外,所有被爬蟲抓取的網頁將會被系統存貯,另外,所有被爬蟲抓取的網頁將會被系統存貯,進行一定的分析、過濾,并建立索
3、引,以便之后進行一定的分析、過濾,并建立索引,以便之后的查詢和檢索;對于聚焦爬蟲來說,這一過程所的查詢和檢索;對于聚焦爬蟲來說,這一過程所得到的分析結果還可能對以后的抓取過程給出反得到的分析結果還可能對以后的抓取過程給出反饋和指導。饋和指導。 相對于通用網絡爬蟲,聚焦爬蟲還需要解決三相對于通用網絡爬蟲,聚焦爬蟲還需要解決三個主要問題:個主要問題:(1) (1) 對抓取目標的描述或定義;對抓取目標的描述或定義; (2) (2) 對網頁或數據的分析與過濾;對網頁或數據的分析與過濾; (3) (3) 對對URLURL的搜索策略。的搜索策略。 HeritrixHeritrix既是一種開源的聚焦網絡爬蟲
4、。既是一種開源的聚焦網絡爬蟲。二、二、HeritrixHeritrix項目介紹項目介紹 HeritrixHeritrix在古語里是女繼承人的意思,我們的網絡爬蟲在古語里是女繼承人的意思,我們的網絡爬蟲是從網絡上搜集和保存資料以利于未來的研究者和后代,也是從網絡上搜集和保存資料以利于未來的研究者和后代,也是一種繼承,所以命名為是一種繼承,所以命名為HeritrixHeritrix很符合這個軟件。是很符合這個軟件。是IAIA(IntelArchitectureIntelArchitecture)的一個開源,可擴展的的一個開源,可擴展的webweb爬蟲項目。爬蟲項目。二、二、HeritrixHeri
5、trix工作原理工作原理 左左圖展現圖展現了了heritrxheritrx爬取網頁爬取網頁的流程,的流程,每次只獲取一張網頁,每次只獲取一張網頁,并不考慮充分利用它的資源。由并不考慮充分利用它的資源。由爬蟲維護的尚未訪問爬蟲維護的尚未訪問URLURL列表被稱列表被稱為隊列(為隊列(FrontierFrontier)。該隊列初)。該隊列初始化的時候僅存放由用戶或其他始化的時候僅存放由用戶或其他程序提供的種子程序提供的種子URLURL。每次程序的。每次程序的主循環中,爬蟲先從隊列中取出主循環中,爬蟲先從隊列中取出下一個下一個URLURL,通過,通過HTTPHTTP協議將對應協議將對應的網頁爬取下來
6、,然后解析內容,的網頁爬取下來,然后解析內容,并且提取出包含的并且提取出包含的URLURL,將其中新,將其中新發現的發現的URLURL追加到隊列中。最后將追加到隊列中。最后將網頁存放到本地磁盤的網頁庫中。網頁存放到本地磁盤的網頁庫中。爬取過程在積累到一定數量網頁爬取過程在積累到一定數量網頁時即可終止;或者在隊列為空的時即可終止;或者在隊列為空的時候終止。時候終止。 HeritrixHeritrix主要有三大部件:范圍部主要有三大部件:范圍部( (CrawlScopeCrawlScope) ),邊界部件(,邊界部件(FrontierFrontier),處理),處理器鏈器鏈(processor c
7、hain)(processor chain)。路徑路徑深度深度選擇選擇等等。等等。1.14.3.jar org.archive.crawler.Heritrix當看到這個頁面的時候,就說明Heritrix已經成功的啟動了。在頁面的中央有一道狀態欄,用于標識當前正在運行的抓取任務。如圖10-6所示:已經看到了已經看到了Heritrix成功運行后的成功運行后的WebUI,接下來,就要帶,接下來,就要帶領讀者來創建一個新的抓取作務。領讀者來創建一個新的抓取作務。(1)單擊)單擊WebUI菜單欄上的菜單欄上的“Jobs”標簽,就可以進入任標簽,就可以進入任務創建頁面。如圖務創建頁面。如圖10-18所示
8、所示 在任務創建頁面中,有4種創建任務的方式,如圖10-19所示,具體含義如下。 在在屬性設置頁面上有非常多的輸入域,屬性設置頁面上有非常多的輸入域,HeritrixHeritrix在抓取在抓取網頁時,這些域是用來對的各個組件的值進行預設,如網頁時,這些域是用來對的各個組件的值進行預設,如圖所圖所示示2 2HTTP-HeaderHTTP-Header 在在HTTP-Header這個屬性域下面,包括兩個屬性值這個屬性域下面,包括兩個屬性值“user-agent”和和“from”。默認情況下,這兩個屬性的值如圖。默認情況下,這兩個屬性的值如圖10-33所示。所示。 “VERSION”“VERSIO
9、N”字符串需要被替換成字符串需要被替換成HeritrixHeritrix的版本信息。的版本信息。“PROJECT_URL_HERE”PROJECT_URL_HERE”可以被替換成任何一個完整的可以被替換成任何一個完整的URLURL地址。地址。 “from”“from”屬性中不需要設置真實的屬性中不需要設置真實的E-mailE-mail地址,只需是格式正確地址,只需是格式正確的郵件地址就可以了。的郵件地址就可以了。 當當單擊單擊“Submit job”Submit job”鏈接后,會看到圖鏈接后,會看到圖10-3610-36所示的頁面。圖中所示的頁面。圖中最上方很清楚的顯示了最上方很清楚的顯示了
10、“Job created”Job created”,這表示剛才所設置的抓取,這表示剛才所設置的抓取任務已經被成功的建立。同時,在下面的任務已經被成功的建立。同時,在下面的“Pending Jobs”Pending Jobs”一欄,可一欄,可以清楚的看到剛剛被創建的以清楚的看到剛剛被創建的JobJob,它的狀態目前為,它的狀態目前為“Pending”Pending”。 此時此時,單擊面版中的,單擊面版中的“Start”Start”鏈接,就會將此時鏈接,就會將此時處于處于“Pending”Pending”狀態的抓取任務激活,令其開始狀態的抓取任務激活,令其開始抓取抓取。 在在綠紅相間的長條右側,是
11、當前的負載,它顯示了當前活躍的線綠紅相間的長條右側,是當前的負載,它顯示了當前活躍的線程數量,同時,還統計了程數量,同時,還統計了HeritrixHeritrix內部的所有隊列的平均長度。如內部的所有隊列的平均長度。如圖圖10-4110-41所示所示 不過不過,當抓取繼續進行時,觀察,當抓取繼續進行時,觀察JavaJava虛擬機的內存使用,發現其已虛擬機的內存使用,發現其已達飽合狀態。達飽合狀態。64M64M的最大的最大HeapHeap顯然不夠用。如圖顯然不夠用。如圖10-4310-43所示。所示。 由于這僅是一次演示,可以忽略內存的影響。但在真正的開發過程由于這僅是一次演示,可以忽略內存的影
12、響。但在真正的開發過程中這個屬性。在使用命令行方式啟動中這個屬性。在使用命令行方式啟動HeritrixHeritrix的腳本的腳本 中,筆者已,使中,筆者已,使用用HeritrixHeritrix 時,至少應為其分配時,至少應為其分配512M512M的最大的最大HeapSizeHeapSize,也就是在啟動,也就是在啟動它時,應該設置它時,應該設置-Xmx512m-Xmx512m經為其加入了該參數,而如果要在使用經為其加入了該參數,而如果要在使用EclipseEclipse啟動啟動HeritrixHeritrix時也設置該參數,具體的設置方法如下圖所示。時也設置該參數,具體的設置方法如下圖所示。 在在運行的過程中,值得注意的一點是,進度條的百分比數量并不是運行的過程中,值得注意的一點是,進度條的百分比數量并不是準準 確的。因為這個百分比實際上是已經處理的鏈接數和總共分析出的確的。因為這個百分比實際上是已經處理的鏈接數和總共分析出的鏈接數的比值。當頁面在不斷被抓取分析時,鏈接的數量也會不斷的增鏈接數的比值。當頁面在不斷被抓取分析時,鏈接的數量也會不斷
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025下半年機械行業設備更新科技賦能智能無人裝備崛起
- 歷史期末專題復習知識點整L2024~2025學年統編版七年級歷史下冊
- 金融科技企業估值與投資策略在2025年金融科技機器人技術應用報告
- 低碳城市建設的規劃與實踐:山東案例分析報告2025
- 2025年工業機器人在柔性制造系統中的應用與機器人視覺技術結合報告
- 民辦教育機構2025年合規運營與品牌建設創新路徑探索報告
- 2025年零售行業私域流量運營的顧客體驗提升計劃報告
- 新零售環境下便利店智能化庫存管理與物流優化報告
- 新能源微電網穩定性控制與優化運行在智能家居中的應用報告
- 海洋生態修復項目可行性分析與2025年政策支持報告
- 小兒高熱驚厥急救與護理
- 云計算試題及答案
- 中醫醫院現代醫院管理制度章程
- 福建省2025年6月普通高中學業水平合格性考試地理模擬卷二(含答案)
- 2025年山東省濟寧市泗水縣中考三模地理試題(含答案)
- 2025年文件歸檔管理考試題及答案分析
- 文明小學生主題班會課件
- 2024年醫生三基三嚴模擬習題(附答案解析)
- 2024年中考歷史試題分類匯編:世界近代史(原卷版+解析)
- 購買私人地皮合同范本
- T/CWPIA 2-2020戶外重組竹地板鋪裝技術規范
評論
0/150
提交評論