2012-12-14 57 views
2

我正在使用Nutch 2.1與mysql集成。我抓取了2個網站,Nutch成功抓取它們並將數據存儲到Mysql中。我正在使用Solr 4.0.0進行搜索。如何recutch nutch

現在我的問題是,當我嘗試重新抓取像trailer.apple.com或任何其他網站的網站時,它總是抓取最後抓取的網址。即使我已經從seeds.txt文件中刪除了最後一次抓取的網址,並輸入了新的Url。但是Nutch不會抓取新的Url。

有人可以告訴我,我做錯了什麼。

也請給我建議任何Nutch插件,可以幫助抓取視頻和電影網站。

任何幫助將真正明顯。

回答

1

這篇文章有些過時,但對大部分部分仍然有效:http://pascaldimassimo.com/2010/06/11/how-to-re-crawl-with-nutch/也許最後爬網的頁面是最改變的頁面。 Nutch使用自適應算法來安排重新爬網,因此當頁面非常靜態時,不應該經常重新爬網。您可以覆蓋使用nutch-site.xml重新抓取的頻率。此外,seed.txt文件應該是一個種子列表,一旦你注入的URL Nutch不再使用它(除非你手動重新注入它)

另一個配置可能會幫助你的正則表達式 - urlfilter.txt,如果你想指向一個特定的地方或排除某些域/網頁等。

乾杯。

2

我有同樣的問題。 Nutch只重新抓取舊網址,即使它們不在seed.txt中。

當我開始我的Nutch做以下首播時間:

  • 在/根/桌面/ Apache的Nutch的2.1 /運行/本地/網址/種子添加域 「www.domain01.com」。 TXT(不帶引號)

  • 在/root/Desktop/apache-nutch-2.1/runtime/local/conf/regex-urlfilter.txt,增加新的生產線:

    #接受別的
    ^ HTTP ://([a-z0-9] *。)* www.domain01.com/sport/

  • 在/root/Desktop/apache-nutch-2.1/conf/regex-urlfilter.txt,增加新的生產線:

    #接受別的
    ^ HTTP://([A-z0- 9)*。)* www.domain01.com/sport/

...一切都很好。

接下來,我做了以下修改:

  • 從/root/Desktop/apache-nutch-2.1/runtime/local/urls/seed.txt刪除www.domain01.com並添加兩個新領域:www.domain02.com和www.domain03.com

  • 從/root/Desktop/apache-nutch-2.1/runtime/local/conf/regex-urlfilter中刪除www.domain01.com。TXT和添加兩個新線:

    #接受別的
         ^HTTP://([A-Z0-9] *)www.domain02.com/sport/
         ^http://([a-z0-9]
    。)* www.domain03.com/sport/

  • 從/root/Desktop/apache-nutch-2.1/conf/中刪除www.domain01.com正則表達式-urlfilter.txt並添加兩行新行:

    #接受其他任何內容
         ^HTTP://([A-Z0-9] *)www.domain02.com/sport/
         ^HTTP://([A-Z0-9]
    。 )* www.domain03.com /運動/

接下來,我執行以下命令:

updatedb 
bin/nutch inject urls 
bin/nutch generate urls 
bin/nutch updatedb 
bin/nutch crawl urls -depth 3 

而且仍然Nutch的抓取www.domain01.com

我不知道爲什麼?

我在Linux Debian 6.0.5(x64)上使用Nutch 2.1。並且在Windows 7(x64)上的虛擬機上啓動linux。

+1

我解決了問題。 在/root/Desktop/apache-nutch-2.1/runtime/local/conf/regex-urlfilter.txt和 在/root/Desktop/apache-nutch-2.1/conf/regex-urlfilter.txt我只是刪除空間在域之前。 之前: #另外接受 ^ http://([a-z0-9] *。)www.domain02.com/sport/ ^ http://([a-z0-9]。) * www.domain03.com/sport/ 之後: #接受別的東西 ^ http://([a-z0-9] *。)www.domain02.com/sport/ ^ http://( )* www.domain03.com/sport/ 現在nutch抓取新的網址。 –

0

你只需在屬性標籤下面添加ur-nutch-site.xml即可。它爲我,,,,,,,檢查..........

<property> <name>file.crawl.parent</name> <value>false</value> </property

和u只是改變正則表達式,urlfilter.txt

#跳過文件:FTP :和mailto:urls # - ^(file | ftp | mailto):
#接受別的 +。

後刪除索引目錄手動或命令也喜歡.. RM -r $ NUTCH_HOME/indexdir

運行烏爾爬行cammand後...........