來自:http://hedong.3322.org/archives/000218.html 車東
爬行者LARM是一個抓取網頁的機器人,用純Java寫就。
通過作者的敘述,寫一個爬行者,遠非想象中的那麼簡單。HTML規範太簡單了,所以會出很多標新立異的HTML文件。網絡的隨機性太強了,說不定就會遇到什麼問題。這種種意外,都會考驗一個爬行者。
LARM作爲Lucene的子項目,還在開發之中,連個穩定版都沒有,只能通過CVS取得。而且文檔的說明也不統一,具有開發中的項目的共性。不過,它的隨機文檔還是把LARM的設想和特點說了,它還有一個wiki頁面,不知爲什麼在sourceforge上還掛了一個名(這兒還有幾篇RTF文檔)。
LARM源碼中,有一個GUI界面,把我樂壞了,一運行,怎麼點擊“Start”它也不活動,很鬱悶,一看源碼,“// to do: code goes here.”,根本沒有對這個點擊事件的處理代碼。FT!
如果不考慮它與Lucene的關係,單當作一個爬行者來看,也有一定的使用價值。我下了這個項目,編譯運行以後,對http://hedong.3322.org進行抓取,由於沒限制域名,一下子到了5500多個域名,在下了300M左右,就把它中斷了。
cd jakarta
cvs -d :pserver:[email protected]:/home/cvspublic login
password: anoncvs
cvs -d :pserver:[email protected]:/home/cvspublic checkout jakarta-lucene-sandbox
cd jakarta-lucene-sandbox/contributions/webcrawler-LARM
ant dist
把build/webcrawler_LARM-0.5.jar及libs/目錄下的所有jar都加到classpath裏去。
java -server de.lanlab.larm.fetcher.FetcherMain -start http://hedong.3322.org