Nutch 使用入門(二)——互連網抓取

來源:互聯網
上載者:User
Nutch 使用入門(二)——互連網抓取
    部落格分類:

  • java
互連網QQ網路通訊協定搜尋引擎Gmail

 

Java代碼  
  1. /**  
  2.  *本人亦初學者,如有不正確的地方請多多指教。謝謝!  
  3.  **/   

Nutch互連網抓取

1. 下載列表擷取

真正實現全互連網資料抓取需要一個比較大的入口URL列表,幸運的是Nutch在設計時考慮到了這個問題。通過DmozPraser工具提供了對開放式互連網DMOZ目錄庫的支援。DMOZ目錄庫可以直接從網上下載使用,目前最新版的資料壓縮檔content.rdf.u8.gz有295MB,解壓縮後達到1.91GB。使用DmozPraser工具可以從檔案中隨機抽取部分資料,組建檔案列表,詳細操作命令如下所示:

 

Java代碼  
  1. bin/nutch org.apache.tools.DomzPraser content.rdf.u8 -subset 3000 >domzurls.txt  

 

 

命令執行的結果是Nutch根目錄下產生了一個dmozurls.txt的文字檔。該檔案可以作為入口地址添加到下載庫中。如果要建立全互連網的搜尋引擎,可以把content.rdf.u8中的所有資料添加到下載庫。下載全網資料是一項費時費力的工作,且超過了個人實驗的範圍,而且dmozurls文字檔中包含了很多國外的網站,我們訪問比較慢。所有我們將採取另外一種辦法。

另外一種辦法是尋找國內比較大的互連網網站。這些網站的URL是通過分析http://top.chinalabs.com/,http://top.chinaz.com/,http://www.chinarank.org.cn/三大中國互連網排行網站獲得。應該說可以具有代表性。分析的原理和過程在此不作贅述。得到一個chinaurls.txt的文本。部分結果如下:

 

 

Java代碼  
  1. http://www.baidu.com  
  2. http://www.qq.com  
  3. http://www.google.cn  
  4. http://www.sina.com.cn  
  5. http://www.163.com  
  6. http://www.taobao.com  
  7. http://www.soso.com  
  8. http://www.sohu.com  
  9. http://www.youku.com  
  10. http://www.tianya.cn  
  11. http://www.hao123.com  
  12. http://www.kaixin001.com  
  13. http://www.alibaba.com  
  14. http://www.sogou.com  
  15. http://www.ifeng.com  
  16. http://www.cnzz.com  
  17. http://www.chinaz.com  
  18. http://www.xunlei.com  
  19. http://www.soufun.com  
  20. http://www.126.com  

 

 

2. 下載大量網站

入口URL列表準備好之後,下一步的工作就是匯入Nutch系統,完成下載工作,具體過程如下:

     1)開啟Nutch的根目錄,建立一個InternetWeb和urls目錄

     2)複製chinaurls.txt檔案到Nutch的根目錄下的urls目錄。利用檔案內容向InternetWeb目錄資料庫裡面添加初始的入口URL,命令及執行結果如下:

       3) 修改Nutch根目錄下conf/nutch-site.xml檔案,設定http.agent.name屬性的值。這個屬性值在抓取網頁的時候,會攜帶於HTTP請求的協議頭裡面,用來表明網路蜘蛛身份,修改內容如下。

     4) 利用craswdb中已經注入的URL下載列表,調用generate命令建立一個新的資料區段,存放在InternetWeb目錄下。命令及執行結果如下:

        5) 查看segments目錄下最新產生的以日期時間命名的檔案夾。當前產生的檔案夾的名稱是20100325211446.接下來根據檔案夾下產生的下載列表擷取頁面的內容。命令如下:

        6) 從已經下載的段資料列表裡擷取URL連結,更新crawldb庫裡的內容。命令及執行過程如下:

       7) 迴圈執行(4),(5),(6)下載頁面,直到crawldb的列表完成或者達到網頁深度。此處的深度控制需要通過迴圈次數控制。

       8) 調用invertlinks命令建立所有的連結。

       9) 索引頁面內容。命令如下:

這樣,一個簡化的互連網資料已經下載完成了。

 

接下來我們又可以進行搜尋了。

Nutch搜尋網頁面的部署可以參見
Nutch1.0 使用入門(一)。

 

謝謝關注,我會有更多這方面文章的發布。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.