一、本地模式下nutch1.6爬取

1、创建两个目录,crawl目录存储爬取的数据,urls目录存储爬取的url,并在urls目录中创建一个seed.txt文件,写入需要爬取的url地址。

2、修改./nutch1.6/runtime/local/conf/regex-urlfilter.txt文件的最后一行内容:

将文件的最后一行+.”改为“+^http://([a-z0-9]*\.)*nutch.apache.org/

5、将./nutch1.6/runtime/local/conf/nutch-site.xml文件的以下内容改为:

修改前:

<property>

   <name>http.agent.name</name>

   <value>*</value>

 </property>

修改后:

<property>

   <name>http.agent.name</name>

   <value>Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36</value>

 </property>

 

爬取urls目录中定义好的网页信息:

进入./nutch-1.6/runtime/local目录,运行 bin/nutch crawl/data/urls/seed.txt -dir crawl -depth 3 -topN 5

执行完成的结果:

 nutch1.6在本地模式和分布式模式下爬取过程

此时在之前创建的crawl目录下有三个目录文件:crawldblinkdbsegments

crawldb: 爬行数据库,用来存储所要爬行的网址。

linkdb: 链接数据库,用来存储每个网址的链接地址,包括源地址和链接地址。

segments: 抓取的网址被作为一个单元,而一个segment就是一个单元。

 

二、分布式模式下运行nutch1.6

1、配置好hadoop环境变量,启动hadoop的所有节点

bin/start-all.sh

2、进入nutch1.6/conf下配置nutch-site.xml

修改后:

<configuration>

<property>

  <name>http.agent.name</name>

  <value>Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36</value>

</property>

</configuration>

1、url上传到hadoop分布式文件系统中

hadoop fs -mkdir /urls

hadoop fs -copyFromLocal ./runtime/local/urls/seed.txt /urls/

2、设置爬取规则

进入regex-urlfilter.txt文件,修改最后一行内容为:

+^http://([a-z0-9]*\.)*nutch.apache.org/

5、运行ant重新编译

ant

6、进入nutch1.6/runtime/deploy目录运行

bin/nutch crawl /urls/* -dir /home/software/nutch-1.6/crawl/ -depth 3 -topN 5

参数说明:

        bin/nutch : nutch1.6的命令

        crawlnutch1.6命令的选项

        -dir /home/software/nutch-1.6/crawl/: hadoop分布式文件系统的路径

        -depth 3 : 抓取的深度

        -topN 5 : 每一次抓取的条数。


出现下图,图一是开始执行时出现的信息,图二、三是获取数据后的信息。

 nutch1.6在本地模式和分布式模式下爬取过程

 nutch1.6在本地模式和分布式模式下爬取过程

 nutch1.6在本地模式和分布式模式下爬取过程

 

 

 

相关文章:

  • 2021-09-21
  • 2021-12-20
  • 2022-12-23
  • 2022-12-23
  • 2021-07-29
  • 2022-12-23
  • 2021-06-12
  • 2021-08-03
猜你喜欢
  • 2022-01-01
  • 2021-11-17
  • 2021-11-17
  • 2021-10-04
  • 2022-01-01
  • 2021-07-07
  • 2021-07-04
相关资源
相似解决方案