Heritrix 1.14.4的配置和初次使用
2019獨角獸企業重金招聘Python工程師標準>>>
剛剛進行了Heritrix的配置,參考了網上很多資料,最后終于配置成功。寫下心得:
以下有些語句直接拷貝過來的,我只是把有問題的地方,修改一下。
新建Java Project工程
在Eclipse中新建一個Java Project工程,刪除掉工程中的兩個文件目錄bin和src(后面會自動添加)。
向新建的Java Project添加Heritrix-1.14.4文件
將目錄heritrix-1.14.4-src\src\java\下面的三個目錄:org,com,st一起拷貝到新建工程目錄下面。
將目錄heritrix-1.14.4-src\src\conf\下面的:三個目錄(包括:modules、profiles、selftest),以及四個文件(heritrix.properties、jmxremote.password.template、heritrix.cacerts、jndi.properties)一起拷貝到新建的工程目錄下面。
將目錄heritrix-1.14.4-src\src\resources\下面的三個文件,包括:arcMetaheaderBody.xsl等拷貝到新建的工程目錄下,會彈出已存在,直接覆蓋。
將目錄heritrix-1.14.4\下面的webapps目錄拷貝到新建工程目錄下這里,webapps目錄下面有兩個WAR包(即admin.war和selftest.war)。
刷新工程右鍵單擊工程,將heritrix-1.14.4\下的lib文件夾拷貝到工程下。然后將文件的路徑加入工程中。
修改工程里class文件中的第3行和倒數第2行為
<classpathentry kind="src" path=""/>(此處將path后面的src改為空)
<classpathentry kind="output" path=""/>(修改同上)
修改heritrix.properties屬性文件
修改heritrix.version=1.14.4,heritrix.jobsdir到抓取的數據存儲的位置(默認的job),heritrix.cmdline.admin(admin:admin)登錄賬號密碼,heritrix.cmdline.port(8888)運行的端口(此處要小心,首先確定你自己的8888端口未被占用,否則換其它的端口即可)。
上述一切修改完后,會出現sun.net.www.protocol.file.FileURLConnection的錯誤
這是因為是sun包是受保護的包,默認為只有sun公司的軟件才能使用,進入Windows–Preferences—Java—Compiler—Errors/Warnings— Deprecated and trstricted API— Forbidden reference (access rules):— change to warning,對受保護的包使用warning即可。
運行package org.archive.crawler包中Heritrix.java文件即可完成配置
在瀏覽器中輸入http://localhost:8888/即進入頁面
使用:
(1) 登陸后,在導航欄選擇”Jobs”,呈現的第一項是”Create New Job”,選擇第四小項”With defaults”。輸入項的前兩項Name和Description隨意,Seeds非常重要:http://www.163.com/ 注意最后一個反斜杠必須。
(2) 選擇下邊的”Modules”,進入Module配置頁(Heritrix的擴展功能都是通過模塊概念實現的,可以實現自己的模塊完成自己想要的功能)。其中第一項 “Select Crawl Scope” 使用默認的 “org.archive.crawler.deciderules.DecidingScope”。倒數第三項 “Select Writers ” 刪除默認的 “org.archive.crawler.writer.ARCWriterProcessor” ,后添加”org.archive.crawler.writer.MirrorWriterProcessor”,這樣執行任務的時候抓取到的頁面會以鏡像的方式放在本地的目錄結構中,而不是生成ARC存檔文件。
(3) 選擇”Modules”右邊的”Submodules”,在第一項內容中 “crawl-order ->scope->decide-rules->rules” 刪除掉其中的 “acceptIfTranscluded” (org.archive.crawler.deciderules.TransclusionDecideRule) 的這一項抓取作用域的規則。否則當Http請求返回301或者302時Heritrix會去抓取其他域下的網頁。
(4) 在第二行導航欄中選擇”Settings”進入Job的配置頁面,其中主要修改兩項:http-headers 下的user-agent 和 from:
user-agent主要是指運行Heritrix的用戶的配置,即使用者的機器配置。首先是瀏覽器的選擇,比如IE/7.0;其中 @VERSION@是指使用Heritrix的版本號,這里應該是1.14.4;最后面的PROJECT_URL_HERE是指本機地址:http://127.0.0.1。
from 改為自己的郵箱
(5) 在第二行導航欄中選擇最右邊的”Submit job”
(6) 在第一行導航欄中選擇第一項的”Console”,點擊”Start”,抓取任務正式開始,時間長短有網絡狀況和所抓取網站的深度有關。
轉載于:https://my.oschina.net/xtfggef/blog/59427
總結
以上是生活随笔為你收集整理的Heritrix 1.14.4的配置和初次使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 程序员也要养生
- 下一篇: 多点app是什么(多种媒体的综合)