一、引言:
最近在忙某個商業(yè)銀行的項(xiàng)目,需要引入外部互聯(lián)網(wǎng)數(shù)據(jù)作為參考,作為技術(shù)選型階段的工作,之前已經(jīng)確定了中文分詞工具,下一個話題就是網(wǎng)絡(luò)爬蟲的選擇,目標(biāo)很明確,需要下載一些財(cái)經(jīng)網(wǎng)站的新聞信息,然后進(jìn)行文本計(jì)算。記得上一次碰爬蟲還是5年前,時(shí)過境遷,不知道爬蟲的世界里是否有了新的崛起。比較過一些之后,初步認(rèn)定Heritrix基本能夠滿足需要,當(dāng)然肯定是需要定制的了。
二、版本選擇
Heritrix當(dāng)前版本3.1.0,安裝后發(fā)現(xiàn),啟動任務(wù)時(shí),Windows平臺有BDBOpen的錯誤(具體原因不詳),Linux環(huán)境沒有測試。度娘了一把,沒啥實(shí)質(zhì)性收獲,如果從源碼去看,又太費(fèi)時(shí)間。就換到了3.0.5,這個版本也有問題,就是創(chuàng)建Job時(shí),總是提示文件夾有問題,可以選擇手動創(chuàng)建下載任務(wù)。操作界面如下圖所示:
三、配置任務(wù)-手動
1.jobs目錄下新建文件夾sohu;
2.拷貝模板文件profile-crawler-beans.cxml到sohu目錄
3.重命名profile-crawler-beans.cxml文件為crawler-beans.cxml
4.手動修改文件crawler-beans.cxml,設(shè)置目標(biāo)網(wǎng)站和存儲方式:復(fù)制代碼代碼如下:# This Properties map is specified in the Java "property list" text format# <a >http://java.sun.com/javase/6/docs/api/java/util/Properties.html#load%28java.io.Reader%29</a></p><p>metadata.operatorContactUrl=http://localhostmetadata.jobName=sohumetadata.description=sohujingxuan</p><p>##..more?..## </value> </property> </bean></p><p> <!-- overrides from declared <prop> elements, more easily allowing multiline values or even declared beans --> <bean id="longerOverrides" class="org.springframework.beans.factory.config.PropertyOverrideConfigurer"> <property name="properties"> <props> <prop key="seeds.textSource.value"></p><p># URLS HERE<a >http://t.sohu.com/jingxuan</a></p><p> </prop> </props> </property> </bean></p><p> <!-- CRAWL METADATA: including identification of crawler/operator --> <bean id="metadata" class="org.archive.modules.CrawlMetadata" autowire="byName"> <property name="operatorContactUrl" value="<a href="http://localhost"/">http://localhost"/</a>> <property name="jobName" value="sohu"/> <property name="description" value="sohujingxuan"/> <!-- <property name="operator" value=""/> --> <!-- <property name="operatorFrom" value=""/> --> <!-- <property name="organization" value=""/> --> <!-- <property name="audience" value=""/> --> <!-- <property name="userAgentTemplate" value="Mozilla/5.0 (compatible; <a href="mailto:heritrix/@VERSION">heritrix/@VERSION</a>@ <a href="mailto:+@OPERATOR_CONTACT_URL@)"/">+@OPERATOR_CONTACT_URL@)"/</a>> --> </bean>四、停用Robots檢查
改造函數(shù),禁用Robots協(xié)議檢查,目的就不說了,改造方法如下:
復(fù)制代碼代碼如下:private boolean considerRobotsPreconditions(CrawlURI curi) { // treat /robots.txt fetches specially //++zhangzl:取消robots.txt的強(qiáng)制限制 return false; //--</p><p> }
五、后續(xù)工作
1.定向下載改造:只下載目標(biāo)內(nèi)容,過濾無關(guān)信息。
2.自動解析改造:下載內(nèi)容自動解析到指定目錄,指定格式。
關(guān)鍵詞: heritrix3 網(wǎng)絡(luò)爬蟲
最新資訊