1. 程式人生 > >Windows下開源搜尋引擎Nutch1.2的安裝

Windows下開源搜尋引擎Nutch1.2的安裝

Nutch是Apache組織的一個開源專案,利用它使用者可以建立自己內部網的搜尋引擎,也可以建立針對整個網路的搜尋引擎。
    兩年前Nutch0.9版本的時候我寫了個針對Linux的安裝介紹,最近nutch1.2出來了,很想試試有什麼新功能,可惜沒有專門的Linux伺服器,就在Windows上安裝吧。(我使用的作業系統是windows 2003 server)

安裝與配置過程比一般軟體複雜,比如需要了解簡單Linux命令、Tomcat伺服器配置等,但當你看到自己親手建立的搜尋引擎時,一切付出都是值得的!

2.下載並安裝Tomcat 網址http://tomcat.apache.org/ 我裝的是Tomcat7.0.6。我安裝的是exe版本,省得配置環境變量了。安裝完成後輸入

http://127.0.0.1:8080 出現變態貓就ok了,可以進入下一步。

3.到http://www.cygwin.com/ 點setup.exe下載並安裝 cygwin,這是一個在Windows平臺上模擬執行Unix的環境,Nutch要在這裡執行. 預設安裝到c:/cygwin目錄,桌面生成一個Cygwin的圖示

4.到http://www.nutch.org下載Nutch 1.2。解壓縮得到nutch-1.2資料夾。把整個資料夾放到c:/cygwin目錄下

5.測試,執行Cygwin,出現黑白的控制檯介面,像dos一樣,
  輸入 cd /nutch-1.2進入剛才拷貝進去的nutch
  輸入 bin/nutch 執行bin/nutch,
  看到下列提示,則說明安裝成功:
  Usage: nutch [-core] COMMAND
  where COMMAND is one of :
    ......

休息一會兒,再繼續,要不你就暈了。

6. 設定待抓取網站
    在nucth-1.2目錄下建立urls目錄(也可以自己命名),在urls目錄下建立個文字檔案,名稱無所謂,我取名為nutch,沒有副檔名,副檔名為.txt也可以
    開啟剛才建立的這個名稱為nutch的檔案,輸入待抓取的網站地址,如:
    http://www.isosee.com/
    http://www.pmpway.com/
    最後的/不能漏掉.

    編輯conf目錄下的crawl-urlfilter.txt檔案,該檔案用於設定爬蟲的過濾條件
    # accept hosts in MY.DOMAIN.NAME
    +^http://([a-z0-9]*.)*MY.DOMAIN.NAME/
    修改為:
    # accept hosts in MY.DOMAIN.NAME
    +^http://([a-z0-9]*.)*www.isosee.com/
    +^http://([a-z0-9]*.)*www.pmpway.com/
    表示抓取域名下的所有頁面

    編輯conf目錄下的nutch-site.xml檔案,該檔案用於將爬蟲資訊告訴被抓取的網站,如果不進行設定nutch不能執行.
    該檔案預設為這樣:
    <?xml version="1.0"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

    <!-- Put site-specific property overrides in this file. -->

    <configuration>
  
    </configuration>

    下面是我修改後的一個例子:
    <?xml version="1.0"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

    <!-- Put site-specific property overrides in this file. -->

    <configuration>
        <property>
          <name>http.agent.name</name>
          <value>myfirsttest</value>
          <description>HTTP 'User-Agent' request header. MUST NOT be empty -
          please set this to a single word uniquely related to your organization.

          NOTE: You should also check other related properties:
  
          http.robots.agents
          http.agent.description
          http.agent.url
          http.agent.email
          http.agent.version

          and set their values appropriately.

          </description>
        </property>

        <property>
          <name>http.agent.description</name>
          <value>myfirsttest</value>
          <description>Further description of our bot- this text is used in
          the User-Agent header.  It appears in parenthesis after the agent name.
          </description>
        </property>

        <property>
          <name>http.agent.url</name>
          <value>myfirsttest.com</value>
          <description>A URL to advertise in the User-Agent header.  This will
           appear in parenthesis after the agent name. Custom dictates that this
           should be a URL of a page explaining the purpose and behavior of this
           crawler.
          </description>
        </property>

        <property>
          <name>http.agent.email</name>
          <value>[email protected]</value>
          <description>An email address to advertise in the HTTP 'From' request
           header and User-Agent header. A good practice is to mangle this
           address (e.g. 'info at example dot com') to avoid spamming.
          </description>
        </property>

    </configuration>
    上述檔案描述了爬蟲的名稱/描述/來自哪個網站/聯絡email等資訊.

好了,還等什麼,開始抓取網頁吧
    在cygwin中執行抓取並建立索引的命令:
    bin/nutch crawl urls -dir isosee -depth 4 -threads 5 -topN 1000 >&logs/log1.log
    其中
        urls目錄中的檔案裡記錄了待爬網站地址
        -dir指定爬來的資訊放到哪個目錄下
        -depth 指定抓取的深度
        -thread 指定執行緒數
        -topN 指定抓取該網站的前若干頁,這個引數對於抓取大網站的網頁非常有用
        >&logs/log1.log指定日誌存放位置,如果你想在控制檯(也就是Cygwin的黑白窗口裡)監視執行情況,可以不使用這行程式碼。如果使用的話別忘了事先在nutch-1.2目錄下建個logs目錄。


    ......等待,抓取及建立索引結束。

    抓取和索引結果存放在isosee目錄下

提示:先抓小網站試試,否則後果不堪設想,我抓取過我的另一個網站http://www.isosee.com,雖然只有1000個左右的頁面,但用了將近1小時,當然實際時間跟你的機器配置、網路連線情況以及對方網站的關係都很大。


   
7.使用抓取和索引的成果建立搜尋網站

    配置tomcat
    刪除或改名Tomcat/webapps下的ROOT資料夾。
    複製nutch-1.2.war到到tomcat的webapps/下,同時改名為ROOT.war(Tomcat執行時將自動解開為ROOT目錄)
    修改/webapps/ROOT/WEB-INF/classes/nutch-site.xml :
    將
    <configuration>
    </configuration>
    換成
    <configuration>
        <property>
            <name>searcher.dir</name>
            <value>C:/cygwin/nutch-1.2/isosee</value>
        </property>
    </configuration>  
    把value裡的內容替換為你實際存放抓取內容的地址,注意最後沒有/,我開始加了/好像不行.


    為了支援中文需要修改tomcat的配置檔案,開啟tomcat/conf下的server.xml檔案,將其中的Connector部分改成如下形式即可:
    <Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
        enableLookups="false"
        redirectPort="8443"
        acceptCount="100"
        connectionTimeout="20000"
        disableUploadTimeout="true"
        URIEncoding="UTF-8" useBodyEncodingForURI="true" />
    注意最後一行的兩項是新加的.

8.利用搜索你自己的網站
    重啟tomcat,在瀏覽器中輸入:http://127.0.0.1:8080



    出現nutch搜尋介面, 好了,自己的搜尋引擎已經建立好了,跟google和百度一樣。  
    在搜尋框中輸入關鍵詞並搜尋,將看到你的搜尋結果
    當然,某些搜尋結果頁可能出現中文亂碼等問題,這跟Nutch關係不大,後期慢慢調整TOMCAT的配置即可。

總結與建議:Nutch是非常棒的基於Lucene的開源搜尋引擎,Lucene為Nutch提供了文字索引和搜尋的API。它的開放性架構以及優良的效能為我們學習和進一步開發提供了堅實的基礎,甚至是搜尋引擎架構從業者必然的選擇。

相關推薦

Windows開源搜尋引擎Nutch1.2安裝

Nutch是Apache組織的一個開源專案,利用它使用者可以建立自己內部網的搜尋引擎,也可以建立針對整個網路的搜尋引擎。    兩年前Nutch0.9版本的時候我寫了個針對Linux的安裝介紹,最近nutch1.2出來了,很想試試有什麼新功能,可惜沒有專門的Linux伺服器,

【圖解】Windows apache-maven-3.2.3的安裝步驟+maven配置本地倉庫+Eclipse中配置maven

安裝步驟: 1.在安裝maven之前,先確保已經安裝JDK1.6及以上版本,並且配置好環境變數。 3.配置maven3的環境變數:先配置M3_HOME的環境變數,新建一個系統變數:M3_HOME , 路徑是:E:\code\apache-maven-3.2.3

windowsdig 域名解析工具安裝及使用

dig 解析 windows 下nslookup 解析命令工具,都已經為人所熟悉。除此之外,在linux 或 unix上,dig命令工具在解析方面更是主導。下面主要說明下,dig如何在windows下安裝和使用dig 命令工具。dig的執行程序是在Bind軟件包裏,首先要下載Bind軟件,下載地址ht

WindowsComposer&Laravel的安裝及配置

標簽 openssl laravel安裝 -c extra spa 測試 pro mas http://www.jianshu.com/p/2836017b5348 初始化配置 首先請確認你的PHP版本在5.59以上 開啟PHP拓展,在php.ini中找到 ;exte

windows非管理員權限安裝mysql

mysql安裝 方式 我們 win 一點 尋找 非管理員權限 console 密碼 windows下,mysql有兩種安裝方式: 1.msi安裝 2.zip安裝 無論是哪種安裝方式,都因為需要將mysql安裝為一個服務,所以必須要以管理員權限安裝。 因為公司的換了虛擬機,無

Windows當地RabbitMQ服務的安裝

frame download mlu all 以及 銷毀 number 接受 sign Windows下本地RabbitMQ服務的安裝 本文參考:劉若澤相關技術文檔 當然這些內容頁可以通過RabbitMQ官方網站獲得。 RabbitMQ配置說明手冊 一、Rai

Windowsoracle-win-64-11g安裝步驟

需要 sid 更新 子郵件 安全 img 出現 配置 不可用 一、 Oracle 下載 官方下地址 http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

windowspython虛擬環境virtualenv安裝和使用

安裝包 退出 顯示 變量 其他 virt ubuntu down load 前面介紹了python在ubuntu16.04環境下,python的虛擬環境virtualenv的安裝,下面介紹在windows環境下的安裝和使用。 環境信息 操作系統:windows10 pyt

windowspython3.6 通過pip安裝Twisted模塊報utf-8錯誤的解決辦法

報錯 tps www div gpo scrapy href cnblogs win 1.去這個網站 https://www.lfd.uci.edu/~gohlke/pythonlibs/ 2.下載Twisted?17.9.0?cp36?cp36m?win32.whl或Tw

windows ,CCXT庫的安裝

關於 tps image utf 權限 參考 顯示 ctx png CCTX 是一個 開源的關於數字貨幣交易的庫 github 位置: https://github.com/ccxt/ccxt CCTX python 版本的安裝 先安裝python 3 然後以管理員的權

WindowsMySQL8.0.11.0安裝教程

mysql下載 install msi 同時 all visual download 安裝 tps 1、mysql下載地址:https://dev.mysql.com/downloads/installer/ 2、下載安裝MySQL 8.0.11.0 https://

windows使用cpanm進行模組安裝

⊙▂⊙ 要放假了,突然想整理一下手頭上的軟體,突然發現perl的安裝模組這個功能不能用。 弄了一下,使得windows 下 perl 的 cpanm能用,避免成天為了依賴痛苦。 軟體版本:#理論上此方法所有版本通用 windows8.1 64bit Ac

WindowsPostgreSQL 8.1版安裝圖解

宣告:發現文件不錯,轉發IT168文件,如有問題,請與我聯絡,感謝。 【IT168 專稿】PostgreSQL是一套功能強大的物件-關係型資料庫管理系統。經過十幾年的發展, PostgreSQL 是世界上可以獲得的最先進的開放原始碼的資料庫系統, 它提供了多版本並行控制,支援幾乎所有 SQL

windowsGoogle Protocol Buffer 編譯安裝使用教程

轉載修改自:http://kuaile.in/archives/1214 protobuf的全稱是Protocol Buffer,它是google 的一種資料交換的格式,可用於用於分散式應用之間的資料通訊或者異構環境下的資料交換, 最近因為專案的需求,需要接觸Protobuf,在官方提供的壓縮包

WindowsPython各種庫的安裝

windows下python各種庫的安裝 初學python,學習安裝各種庫,我是64位Windows7版本,python 3.5: 使用pip安裝 使用anaconda安裝 一、使用pip安裝各種庫的步驟 1、參照這個教程

Windows mysql的下載、安裝、登入。

之前一直用sql server ,但是因為自己的電腦太老了,體量太大的sql server就不太合適了。這時候就想到了mysql 用了一下感覺很不錯 下載 下載地址 我用的是免安裝版,因為我的固態盤很小,所以把免安裝的放在行動硬碟上了。 下載是可以不用註冊帳號的 解

windowsXgboost演算法包的安裝

以前在安裝xgb演算法包時,看了網上很多篇教程都沒有成功,但最後還是找到了解決方法,恰好最近在整理筆記就與大家分享一下: 通過Ctrl+F後輸入xgboost回車就可以到達xgboost所在的目錄。 根據自己的電腦系統選擇對應的安裝包,我的電腦安裝的是anaconda

Windowspython27操作mysql模組安裝

在安裝了python2.7的環境下 進入CMD執行pip install mysql-python 在我的電腦上提示安裝失敗: 缺少VC的一個庫,根據提示的網站去下載安裝,再次執行: pip install mysql-python 還是報錯: 因為缺少驅

windowspython(網路爬蟲)的安裝

網路爬蟲python的安裝 C語言要寫1000行程式碼,Java只需要寫100行,而Python可能只要20行 前幾天一位小朋友問我Python怎麼安裝,其實以前我已經安裝過了,但是沒有實際去用過。這幾天就瞭解了一下Python。Python可以寫爬取各大網站的

windows多個jdk版本安裝、切換及問題

目前的需求是在一臺已經安裝了JDK7的windows伺服器上部署依賴於JDK8的專案,之前的JDK7也有專案在使用,現在需要同時安裝使用JDK8。 下載JDK8安裝包預設安裝,安裝完成後檢視,java -version 是1.8,javac -version 是