網絡爬蟲之Windows環境Heritrix3.0配置指南


一、引言:

  最近在忙某個商業銀行的項目,需要引入外部互聯網數據作為參考,作為技術選型階段的工作,之前已經確定了中文分詞工具,下一個話題就是網絡爬蟲的選擇,目標很明確,需要下載一些財經網站的新聞信息,然后進行文本計算。記得上一次碰爬蟲還是5年前,時過境遷,不知道爬蟲的世界里是否有了新的崛起。比較過一些之后,初步認定Heritrix基本能夠滿足需要,當然肯定是需要定制的了。

二、版本選擇

  Heritrix當前版本3.1.0,安裝后發現,啟動任務時,Windows平台有BDBOpen的錯誤(具體原因不詳),Linux環境沒有測試。度娘了一把,沒啥實質性收獲,如果從源碼去看,又太費時間。就換到了3.0.5,這個版本也有問題,就是創建Job時,總是提示文件夾有問題,可以選擇手動創建下載任務。操作界面如下圖所示:

三、配置任務-手動

  1.jobs目錄下新建文件夾sohu;

  2.拷貝模板文件profile-crawler-beans.cxml到sohu目錄

  3.重命名profile-crawler-beans.cxml文件為crawler-beans.cxml

  4.手動修改文件crawler-beans.cxml,設置目標網站和存儲方式:

 1 # This Properties map is specified in the Java 'property list' text format
 2 # http://java.sun.com/javase/6/docs/api/java/util/Properties.html#load%28java.io.Reader%29
 3 
 4 metadata.operatorContactUrl=http://localhost  5 metadata.jobName=sohu  6 metadata.description=sohujingxuan  7 
 8 ##..more?..##
 9    </value>
10   </property>
11  </bean>
12 
13  <!-- overrides from declared <prop> elements, more easily allowing
14       multiline values or even declared beans -->
15  <bean id="longerOverrides" class="org.springframework.beans.factory.config.PropertyOverrideConfigurer">
16   <property name="properties">
17    <props>
18     <prop key="seeds.textSource.value">
19 
20 # URLS HERE
21 http://t.sohu.com/jingxuan
22 
23     </prop>
24    </props>
25   </property>
26  </bean>
27 
28  <!-- CRAWL METADATA: including identification of crawler/operator -->
29  <bean id="metadata" class="org.archive.modules.CrawlMetadata" autowire="byName">
30 <property name="operatorContactUrl" value="http://localhost"/> 31 <property name="jobName" value="sohu"/> 32 <property name="description" value="sohujingxuan"/>
33   <!-- <property name="operator" value=""/> -->
34   <!-- <property name="operatorFrom" value=""/> -->
35   <!-- <property name="organization" value=""/> -->
36   <!-- <property name="audience" value=""/> -->
37   <!-- <property name="userAgentTemplate" 
38          value="Mozilla/5.0 (compatible; heritrix/@VERSION@ +@OPERATOR_CONTACT_URL@)"/> -->
39        
40  </bean>

四、停用Robots檢查

  改造函數,禁用Robots協議檢查,目的就不說了,改造方法如下:

    private boolean considerRobotsPreconditions(CrawlURI curi) {
        // treat /robots.txt fetches specially
        //++zhangzl:取消robots.txt的強制限制
        return false;        
        //--

  }

五、后續工作

1.定向下載改造:只下載目標內容,過濾無關信息。

2.自動解析改造:下載內容自動解析到指定目錄,指定格式。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM