日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

nutch爬虫原来是这样操作的!

發布時間:2025/3/15 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 nutch爬虫原来是这样操作的! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、nutch簡介

nutch是大名鼎鼎的Doug Cutting發起的爬蟲項目,nutch孵化了現在大數據處理框架Hadoop。在nutch V 0.8.0 版本之前,Hadoop是nutch的一部分,從nutch V0.8.0開始,HDFS和MapReduce從nutch中剝離出成為Hadoop。v0.8.0之后,nutch就完全構建在Hadoop的基礎之上了。

Nutch是一個開源的網絡爬蟲,在搜索引擎中負責爬取網頁,同時自動維護網頁的URL信息,例如相同網頁去重、網頁定時更新、網頁重定向。nutch采用了MapReduce分布式爬取和解析,具有良好的水平擴展性。
現在版本的Nutch本身并不具有搜索功能(V1.2之后,nutch專注于爬取數據),但是可以自動向搜索服務器提交爬取的網頁。例如,solr,可以通過Nutch自帶的命令,來控制Nutch是否將網頁提交給索引服務器。
Nutch雖然是優秀的分布式爬蟲框架,但是它的所有設計,都是為了搜索引擎服務的。在hadoop上用map-reduce框架開發,并不是很適合做數據抽取的業務。如果你的業務是做數據抽取(精抽取),而不是搜索引擎。不一定要選用Nutch。
nutch現在分為兩個分支。一個是1.x系列,一個是2.x系列。它們的主要區別是2.x引入了Gora作為存儲抽象層,從而支持各種NoSQL數據庫,如HBase,Cassandra等

二、nutch安裝

1.nutch的運行環境
??? JDK1.7及以上
??? 需要使用linux操作系統

2.解壓:

設置環境變量

驗證: nutch

3.目錄結構

bin:兩個文件,一個是nutch,一個是crawl,
??????? crawl是對nutch中的命令進行了封裝,實現了一站式調用。
????????
conf:里面保存了nutch的基本配置信息,nutch-default.xml nutch-site.xml parse-plugins.xml regex-urlfilter.txt
????
? docs:api文檔
? lib:存儲了nutch的依賴jar包
? plugins:存儲了nutch使用的插件jar包

三、nutch 爬蟲

nutch 爬取準備工作

1:在nutch-site.xml中添加http.agent.name的配置。如果不配置,啟動會報錯。

2:創建一個種子地址目錄,urls(在nutch 目錄中就可以),在目錄下面創建一些種子文件,種子文件中保存種子地址。每一個種子地址占一行。http:www.zhaozhiyong.cn

?? 注意:種子地址必須以類似于http的字符開頭

3:(可選):控制爬取的url范圍,只爬取站內,在regex-urlfilter.txt 最后添加 :+^http://([a-z0-9]*\.)*bbs.superwu.cn/[\s\S]*
??

4:nutch爬取數據?? bin/crwal urls crawl 1
??? crawl urls crawl 1
??? urls:表示是種子目錄
??? crawl:表示是爬取文件的存儲位置
??? 1:表示是爬取的層次


5.nucth爬取生成的目錄
??? 在爬取的時候指定的crawl中會有下面幾個目錄
??? crawldb:存儲的是待爬取的url
??????? 查看目錄數據:nutch readdb crawl/crawldb -stats -sort
??? linkdb:存儲的是反鏈信息
??????? 查看目錄數據:nutch readlinkdb crawl/linkdb -dump links?
??? segments:存儲的是網站所有數據信息
??????? 查看目錄數據:nutch readseg -dump crawl/segments/20150906090648 sgedb
????????
??? 一個segment包括以下子目錄:
??????? crawl_generate:包含需要抓取的網址列表
??????? crawl_fetch:包含每個抓取頁面的狀態
??????? content:包含每個抓取頁面的原始內容
??????? parse_text:包含每個抓取頁面的解析文本
??????? parse_data:包含每個頁面的外部鏈接(外鏈)和元數據
??????? crawl_parse:包含網址的外部鏈接地址,用于更新crawldb數據庫


???

6.查看nutch生成的數據
??? nutch中的數據都是sequencefile格式的,除了使用上面的nutch命令查看之外
??????? 還可以使用java代碼讀取這些文件
??????? 參考資料<查看nutch生成的中間文件>
??????? 注意:在使用提供的代碼讀取文件時,需要先使用more命令查看對應文件中存儲的數據類型
??????????? 對應需要修改代碼中27行中的value的類型。

四、在solr中對爬取的數據建立索引

在使用solr的之前做以下步驟:

1):需要把nutch下的schema-solr4.xml拷貝到solr中


??????? 命令:cp /usr/local/nutch/conf/schema-solr4.xml /usr/local/solr-4.10.4/example/solr/collection1/conf

2):刪除solr中的默認配置文件schema.xml,在把剛才拷貝過去的文件該名稱
??????? cd /usr/local/solr-4.10.4/example/solr/collection1/conf
??????? rm schema.xml
??????? mv schema-solr4.xml schema.xml

3):在schema.xml中添加一個字段配置
??????? <field name="location" type="string" stored="true" indexed="true"/>

或者也可以動態指定,
??????? 例子:crawl -i -D "solr.server.url=http://192.168.1.170:8983/solr"?urls crawl 1

?

1.啟動solr

??? cd /usr/local/solr-4.10.4/example
??? java -jar start.jar

2.

命令:crawl -i urls crawl 1

-i:表示會對爬取的數據建立索引,默認會在本機solr中建立索引,
??????? 如果使用其他服務器上的solr,需要修改nutch-default中solr.server.url的值,
??????? 建議在nutch-site.xml中進行覆蓋。

3.檢驗

http://127.0.0.1:8983/solr/? 可以通過query 查看到content的內容

注意:如果把爬取層次改為2層,發先抓取的數據還是很少,那是因為在regex-urlfilter.txt中對url進行了過濾
??????? 把url中包含?=之類的都忽略掉了。
??????? 所以可以把這個配置直接注釋掉,或者修改為其他規則。
??????? 詳細修改,參考:<regex-urlfilter解釋.txt>

五、nutch源碼導入到eclipse

先安裝ant
??? cd /usr/local
??? tar -zxvf apache-ant-1.9.6-bin.tar.gz
??? mv apache-ant-1.9.6 ant
??? export ANT_HOME=/usr/local/nutch
??? export PATH=$ANT_HOME/bin:$PATH
???

nutch的源碼是ant管理的,所以不能直接導入到eclipse,需要轉換可以使用ant eclipse -verbose但是,nutch的依賴是使用ivy管理的,
在執行轉換的過程中會下載依賴的jar包,jar包很多,所以建議使用提供的.ivy.zip文件。
這樣在轉換的時候就需要指定一下ivy jar包的存放位置,使用下面命令
ant eclipse -Divy.default.ivy.user.dir=/usr/local/.ivy -verbose
????????
轉換完成之后就可以導入到eclipse中了,但是導入之后發現源碼報錯,

需要修改java buildpath->order and export ->把apache-nutch-1.10/src/bin 移動到最上面,?? 使用top按鈕。
???

六、nutch源碼編譯

需要先把.ivy.zip包解壓到/usr/local目錄下面

解壓unzip .ivy.zip(在Linux 下)
??? 如果提示沒有unzip命令,則使用yum install -y unzip

下載nutch源碼,解壓,重命名

cd /usr/local
??? tar -zxvf apache-nutch-1.10-src.tar.gz?
??? mv apache-nutch-1.10 nutch_src
??? cd nutch_src
??? ant -Divy.default.ivy.user.dir=/usr/local/.ivy –verbose

注意:在編譯源碼之前,需要修改nutch_src/conf/nutch-site.xml,
??????? 在里面添加http.agent.name屬性
??????? <property>
????????? <name>http.agent.name</name>
????????? <value>my nutch spider</value>
??????? </property>

?

七:nutch運行的兩種方式


??????

在nutch官網下載的nutch的bin壓縮包,只支持在使用本地模式運行nutch
??? 想要使用集群模式的話需要使用編譯后的源碼中的腳本

cd /usr/local/nutch_src/runtime/deploy
??? bin/crawl /urls /crawl 1

注意:在使用這種方式的時候要保證nutch所在的節點上面配置的有HADOOP_HOME
??????? 環境變量,因為nutch在向集群中提交任務的時候會根據這個環境變量對應
??????? 的目錄下面的配置文件找集群的地址。
??????? /urls 表示是hdfs上面的文件,里面必須要有一個種子文件

1:nutch的采集流程
??? inject:表示注入url
??? generagete:生成爬取列表
??? fetch:爬取url
??? parse:解析url
??? updatedb:更新crawldb數據庫
????
??? 一般情況下,inject只會執行一次,generate、fetch、parse、updatedb這四步是一個循環。
????

需要nutch的視頻資料可以掃描下方微信二維碼:

總結

以上是生活随笔為你收集整理的nutch爬虫原来是这样操作的!的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 手机av在线播放 | 久久免费在线观看视频 | 日本一区精品视频 | 91麻豆精品一二三区在线 | 韩国三级中文字幕hd浴缸戏 | 欧美日本一区二区 | 一卡二卡三卡在线视频 | av色在线| 日韩一区二区三区高清 | 国产高清一区在线观看 | 色偷偷免费费视频在线 | 成人精品视频一区二区三区尤物 | 中文字幕在线观看 | 床戏高潮做进去大尺度视频网站 | 中文在线一区二区 | 国产精品成人一区二区三区电影毛片 | 播放美国生活大片 | 偷拍一区二区三区 | 国产无套精品一区二区 | 久久久精品蜜桃 | www.99av| 国产精品二区三区 | 超碰在线色| 日韩三级黄色 | 97精品| 免费福利视频在线观看 | 美国一级特黄 | 天堂一级片 | 美女色诱男人激情视频 | 69日影院| 久久国产视频网站 | 欧美日韩国产在线观看 | 国产一区视频免费观看 | 爽爽淫人 | 成人欧美一区二区三区小说 | 一级黄色片在线 | 欧美tickle狂笑裸体vk | 成人免费版欧美州 | 国产精品一区二区三区线羞羞网站 | 欧美一级大黄 | 国产又猛又粗 | 思思精品视频 | 亚洲精品一区二区三区中文字幕 | www.日韩高清| 午夜a级片 | 欧美视频在线观看视频 | 国产精品911 | 97伊人| 亚洲天堂不卡 | 男人的亚洲天堂 | 欧美在线三区 | 国产精品一区二区免费 | 日韩精品www | 日韩欧美成人精品 | 伊人亚洲综合 | 最新免费黄色网址 | 热逼视频| 我要看免费黄色片 | 天天操夜夜操狠狠操 | 精品无码人妻少妇久久久久久 | 神马午夜视频 | av官网在线 | 日韩欧美视频在线 | 日本黄色一区 | 色性网站 | 加勒比hezyo黑人专区 | 午夜精品一区二区三区在线视频 | 日韩aa| 大尺度网站在线观看 | 欧美巨乳在线 | 天天操天天射天天 | 性色av网址 | 国产av一区二区不卡 | 特级性生活片 | 日韩va亚洲va欧美va久久 | 欧美在线视频一区二区 | 亚洲成人av电影 | 九一国产精品 | 国产精品成av人在线视午夜片 | 国产suv精品一区二区69 | 久久久久久一区 | 91爱国产 | 黄色三级视频网站 | 午夜精品视频一区二区三区在线看 | 高清一区二区 | 女同亚洲精品一区二区三 | 亚洲精品久久久蜜桃网尤妮丝 | 国产成人久久77777精品 | 午夜精产品一区二区在线观看的 | 成人在线免费小视频 | 欧美一区二区视频在线观看 | 色天堂视频| 深夜福利在线播放 | 香蕉视频网址 | 特级西西444www高清大胆 | 色七七网站| 国产精品成人3p一区二区三区 | 国产熟妇一区二区三区aⅴ网站 | 国产精品亚洲天堂 |