1. 程式人生 > >執行除錯nutch的問題處理及注意事項

執行除錯nutch的問題處理及注意事項

匯入nutch專案時其conf檔案下的所有配置檔案需要加入到classPath中

右鍵conf――>Build PathàUse as Source Folder

在執行時如發生異常:x point org.apache.nutch.net.URLNormalizer not found.

注:這是配置造成的,是外掛目錄的配置沒有正確,修改conf/nutch-default.xml檔案
<property>
            <name>plugin.folders</name>
<value>./src/plugin</value><!—修改部分-->
...

在執行時如發生異常:Fetcher: No agents listed in 'http.agent.name' property.

檢查conf配置目錄中的nutch-default.xml和nutch-site.xml檔案中是否存在鍵:http.agent.name,
或存在鍵:http.agent.name,但其值為空,一定要定義此鍵值,值可以任意,自已想名字吧。如:
<property> 
    <name>http.agent.name</name> 
    <value>nutch16</value> 
</property>

//新增想抓取的URL

1、建立待掃描的資料夾,然後在其中新建一個檔案(檔名不限),在該檔案中寫入想抓取的網站URL,每行一個,如:http://www.163.com/

2、conf/crawl-urlfilter.txt

    #accept hosts in MY.DOMAIN.NAME

+^http://([a-z0-9]*\.)*163.com/      ---寫入想抓取的網站正則表示式

然後即可在eclipse中進行除錯或使用nutch進行爬行

進入nutch目錄

$ sh ./bin/nutch crawl urls -dir mydir -depth 2 -threads 4 -topN 50

crawl:通知nutch.jar,執行crawl的main方法。

urls:存放需要爬行的url.txt檔案的目錄

-dir mydir 爬行後文件儲存的位置

-depth 2:爬行次數,或者成為深度,不過還是覺得次數更貼切,建議測試時改為1。

-threads 指定併發的程序 這是設定為 4
-topN 50
:一個網站儲存的最大頁面數。

注意爬網的時候mydir目錄不能存在,要不然會出錯