幾天前配置Eclipse +Heritrix,配了一天頭暈?zāi)X脹
,也沒能讓它跑起來。確切的說,WebUI登陸就不成功。
中間幾天想起來就倒胃
,于是扔那不睬它
忙了些其他的事情。春節(jié)晚會的全程都在翻論壇查銀行卡和宿舍等資料,差點忘了零點之前回復(fù)大量的祝福短信,我真是勤奮
……今天大年初一沒事做,上午爬起來看看論壇和JUNJIN的反轉(zhuǎn)劇
,調(diào)節(jié)了調(diào)節(jié)心情
,下午接著折騰Heritrix……用Eclipse運行的方法實在很繁瑣,網(wǎng)上找的方法在我的機器上總不成功,深刻認(rèn)識到……基于Linux的開源軟件拿到Windows下都不是省油的燈
……決定改行先按控制臺配置,先讓它能爬再說別的
……下午配了個能運行的,寫個筆記晾在這。
下載Heritrix
?????下載頁面:
http://crawler.archive.org/downloads.html
,在此頁面中選擇 Sourceforge Downloads進入下載列表,選擇一個版本的ZIP壓縮包進行下載。我下載的版本是Heritrix-1.12.1,因為網(wǎng)上的說明好像都是針對這個版本的……
安裝、配置Heritrix
?????1、將得到的Heritrix壓縮包直接解壓縮到某一目錄,我選擇的是D:\Heritrix。
?????2、將 \Heritrix 目錄中的heritrix-1.12.1.jar文件解包,把 profiles\default 下的兩個文件order.xml和seeds.txt復(fù)制到 \heritrix\conf 目錄。
?????3、以文本編輯方式打開 \heritrix\conf 下的heritrix.properties文件,在“heritrix.cmdline.admin = ” 項的后面加入你所要設(shè)定的管理員賬戶和密碼,用“:”分割,如:
?????heritrix.cmdline.admin = admin:admin
?????4、復(fù)制 \heritrix\conf 下的jmxremote.password.template文件到主目錄\Heritrix 下,并更名為jmxremote.password。編輯此文件,更改最后兩行"monitorRole @PASSWORD@"、"controlRole @PASSWORD@"中的"@PASSWORD@"為管理員密碼。如:
????????????????? monitorRole?admin
????????????????? controlRole admin
系統(tǒng)自帶腳本運行
??將cmd定位到 D:"heritrix"bin,執(zhí)行 "heritrix --admin=admin:admin" 命令,即可啟動 heritrix,
有一點需要注意, heritrix 默認(rèn)使用 8080 端口,要保證系統(tǒng)端口沒有沖突。之后便可以訪問 http://127.0.0.1:8080 或 http://localhost:8080/ 使用 heritrix 提供的 WUI ,即 Web 管理端。并且使用 "admin/admin" 登錄。
?[2]選Jobs選項,設(shè)置抓取頁為 http://news.sohu.com/
1. frontier
org.archive.crawler.frontier.BdbFrontier ? 默認(rèn)的不是這個,注意替換掉默認(rèn)的,不然的話運行時會出現(xiàn)后面那個異常
2. scope
org.archive.crawler.scope.BroadScope
3. Prefetcher
org.archive.crawler.prefetch.Preselector
org.archive.crawler.prefetch.PreconditionEnforcer
4. Fetcher
org.archive.crawler.fetcher.FetchDNS
org.archive.crawler.fetcher.FetchHTTP
5. Extractor
org.archive.crawler.extractor.ExtractorHTTP
org.archive.crawler.extractor.ExtractorHTML
(這里可以按自己的需要多添幾個,比如ExtractorSWF、ExtractorJS什么的,但是前兩個是必不可少的)
6. Writer
org.archive.crawler. writer.MirrorWriterProcessor
7. PostProcessor
org.archive.crawler.postprocessor.CrawlStateUpdaterorg.archive.crawler.postprocessor.LinksScoper
org.archive.crawler.postprocessor.FrontierScheduler
(FrontierScheduler可以自行擴展)
??????
選擇Jobs菜單的“Settings”項進入運行參數(shù)設(shè)置頁面。進入運行參數(shù)設(shè)置頁面后,有很多可以設(shè)定的參數(shù),點擊設(shè)置框左邊的“?”號,可看到彈出的幫助信息。最簡單的可只更改“HTTP-Header”項中的內(nèi)容,更改其屬性值“user-agent”和“from”。
設(shè)置完成后,點擊Submit job菜單項,即完成全部任務(wù)的建立工作。
?????????? 通過提交設(shè)定好的任務(wù),頁面返回到Jobs的主菜單,在頁面下方有任務(wù)的一些信息和設(shè)置菜單。此時點擊左上角的“Console”菜單,返回主頁面,點擊“Start”可以開始任務(wù)。點擊左下角紅色框標(biāo)出的“Refresh”選項,可以刷新任務(wù)狀態(tài)。要暫停當(dāng)前任務(wù)??牲c擊任務(wù)狀態(tài)旁的選項“Pause”。抓取頁面會存放在工作目錄下的mirror文件夾內(nèi)。
?
每一個站點的URL地址即為保存的目錄名稱,其文件和對應(yīng)的服務(wù)目錄結(jié)構(gòu)被保存到此目錄下面。此處看出,Heritrix更像一個強大的網(wǎng)站下載工具。至此,Heritrix的簡單抓取任務(wù)設(shè)置描述完畢。
?
?
補充:為了在抓取時不保存其他無關(guān)頁面,可擴展FrontierScheduler來抓取特定的內(nèi)容。
?
如果出現(xiàn)這樣的異常:
第一條異常
Time:? ??. 26, 2009 06:52:05 GMT?
Level:? SEVERE?
Message:? On crawl: news Unable to setup crawl modules
Exception:? java.lang.ClassCastException: org.archive.crawler.settings.ModuleType cannot be cast to org.archive.crawler.framework.Frontier
Stacktrace: java.lang.ClassCastException: org.archive.crawler.settings.ModuleType cannot be cast to org.archive.crawler.framework.Frontier
at org.archive.crawler.framework.CrawlController.setupCrawlModules(CrawlController.java:654)
at org.archive.crawler.framework.CrawlController.initialize(CrawlController.java:377)
at org.archive.crawler.admin.CrawlJob.setupForCrawlStart(CrawlJob.java:846)
at org.archive.crawler.admin.CrawlJobHandler.startNextJobInternal(CrawlJobHandler.java:1142)
at org.archive.crawler.admin.CrawlJobHandler$3.run(CrawlJobHandler.java:1125)
at java.lang.Thread.run(Unknown Source)
第二條異常
Time:? ??. 26, 2009 06:52:05 GMT?
Level:? WARNING?
Message:? Value of illegal type: 'org.archive.crawler.settings.ModuleType', 'org.archive.crawler.framework.Frontier' was expected.: Value of illegal type: 'org.archive.crawler.settings.ModuleType', 'org.archive.crawler.framework.Frontier' was expected.
Exception:? No associated exception.
有可能是Frontier設(shè)置錯誤導(dǎo)致的。檢查一下上面配置處理鏈的部分,是否選中的是:org.archive.crawler.frontier.BdbFrontier?
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
