Crawl為Nutch提供的用于一站式抓取的命令,用戶只需要執(zhí)行一條命令就可以完成抓取的全過(guò)程。
進(jìn)入Nutch的主目錄,今后我們大部分執(zhí)行命令的操作都是在Nutch主目錄完成的,而不是在Nutch的bin目錄里,因?yàn)檫@樣可以更方便地執(zhí)行一些復(fù)雜的命令。查看一站式抓取命令:
bin/crawl
查看nutch命令:
bin/nutch
輸入以上兩個(gè)命令顯示了它們各自的使用方法,后文會(huì)詳細(xì)講解一部分常用的命令。
查看crawl的使用方法:
bin/crawl
Usage: crawl [-i|--index] [-D "key=value"] <Seed Dir> <Crawl Dir> <Num Rounds>
-i|--indexIndexes crawl results into a configured indexer
-DA Java property to pass to Nutch calls
Seed DirDirectory in which to look for a seeds file
Crawl DirDirectory where the crawl/link/segments dirs are saved
Num RoundsThe number of rounds to run this crawl for
-i|index用于告知nutch將抓取的結(jié)果添加到配置的索引器中。
-D用于配置傳遞給Nutch調(diào)用的參數(shù),我們可以將索引器配置到這里。
Seed Dir種子文件目錄,用于存放種子URL,即爬蟲(chóng)初始抓取的URL。
Crawl Dir抓取數(shù)據(jù)的存放路徑。
Num Rounds循環(huán)抓取次數(shù)
使用示例:
進(jìn)入Nutch的runtime/local目錄,新建一個(gè)urls文件夾:
cd apache-nutch-1.10/runtime/local
mkdir urls
在urls文件夾中新建一個(gè)存放url的種子文件:
touch urls/seed.txt
向urls/seed.txt添加初始抓取的URL:
echo http://www.163.com >> urls/seed.txt
開(kāi)始抓取網(wǎng)頁(yè)(這里需確保Solr已經(jīng)啟動(dòng),否則不能正常在Solr中建立索引,安裝和配置參考Nutch 1.10入門(mén)教程(三)——Solr安裝與配置):
bin/crawl -i -D solr.server.url=http://localhost:8983/solr/ urls/ TestCrawl/ 2
這條命令中,-i告知爬蟲(chóng)將抓取的內(nèi)容添加到給定的索引中,solr.server.url=http://localhost:8983/solr/是Solr索引器的地址,urls/為種子URL文件路徑,TestCrawl為Nutch用于存儲(chǔ)抓取數(shù)據(jù)的文件夾(包含URL、抓取的內(nèi)容等數(shù)據(jù)),這里的參數(shù)2表示循環(huán)抓取兩次。
通過(guò)執(zhí)行上面一條命令,就可以開(kāi)始抓取網(wǎng)頁(yè)了。
在瀏覽器中輸入http://:8983/solr,選擇collection1,就可以在里面通過(guò)關(guān)鍵字搜索到已經(jīng)建立索引的內(nèi)容。這里需要注意的是,爬蟲(chóng)并沒(méi)有將指定URL的全部頁(yè)面抓取下來(lái),查看抓取情況的具體方法請(qǐng)參考后續(xù)教程。
更多建議: