首先先从http://www.apache.org/dyn/closer.cgi/nutch/下载安装包

这里假定nutch的根目录为:${APACHE_NUTCH_HOME}

配置${APACHE_NUTCH_HOME}/ivy/ivy.xml,确保Nutch使用MySQL作为数据存储

  1. <dependency org="org.apache.gora" name="gora-core" rev="0.3" conf="*->default"/>
<dependency org="org.apache.gora" name="gora-core" rev="0.3" conf="*->default"/>
改成
  1. <dependency org="org.apache.gora" name="gora-core" rev="0.2.1" conf="*->default"/>
<dependency org="org.apache.gora" name="gora-core" rev="0.2.1" conf="*->default"/>
取消以下行的注释
  1. <dependency org="org.apache.gora" name="gora-sql" rev="0.1.1-incubating" conf="*->default" />
<dependency org="org.apache.gora" name="gora-sql" rev="0.1.1-incubating" conf="*->default" />
取消以下的行注释使用Mysql作为gora存储
  1. <!-- Uncomment this to use MySQL as database with SQL as Gora store. -->
  2. <dependency org="mysql" name="mysql-connector-java" rev="5.1.18" conf="*->default"/>
<!-- Uncomment this to use MySQL as database with SQL as Gora store. -->
<dependency org="mysql" name="mysql-connector-java" rev="5.1.18" conf="*->default"/>

编辑${APACHE_NUTCH_HOME}/conf/gora.properties

添加以下代码激活MySQL的配置

  1. ###############################
  2. # MySQL properties #
  3. ###############################
  4. gora.sqlstore.jdbc.driver=com.mysql.jdbc.Driver
  5. gora.sqlstore.jdbc.url=jdbc:mysql://localhost:3306/nutch?createDatabaseIfNotExist=true
  6. gora.sqlstore.jdbc.user=xxxxx
  7. gora.sqlstore.jdbc.password=xxxxx
###############################
# MySQL properties #
###############################
gora.sqlstore.jdbc.driver=com.mysql.jdbc.Driver
gora.sqlstore.jdbc.url=jdbc:mysql://localhost:3306/nutch?createDatabaseIfNotExist=true
gora.sqlstore.jdbc.user=xxxxx
gora.sqlstore.jdbc.password=xxxxx

编辑 ${APACHE_NUTCH_HOME}/conf/gora-sql-mapping.xml ,将主键的长度由512改成767

  1. <primarykey column="id" length="767"/>
<primarykey column="id" length="767"/>

配置${APACHE_NUTCH_HOME}/conf/nutch-site.xml

在 http.agent.name字段下增加一个名字,可以是任意值但不能为空!  如果需要的话可以添加额外的语言(例如en为英语),同时也可以设置默认编码格式为utf-8

  1. <property>
  2. <name>http.agent.name</name>
  3. <value>YourNutchSpider</value>
  4. </property>
  5. <property>
  6. <name>http.accept.language</name>
  7. <value>ja-jp, en-us,en-gb,en;q=0.7,*;q=0.3</value>
  8. <description>Value of the "Accept-Language" request header field.
  9. This allows selecting non-English language as default one to retrieve.
  10. It is a useful setting for search engines build for certain national group.
  11. </description>
  12. </property>
  13. <property>
  14. <name>parser.character.encoding.default</name>
  15. <value>utf-8</value>
  16. <description>The character encoding to fall back to when no other information
  17. is available</description>
  18. </property>
  19. <property>
  20. <name>storage.data.store.class</name>
  21. <value>org.apache.gora.sql.store.SqlStore</value>
  22. <description>The Gora DataStore class for storing and retrieving data.
  23. Currently the following stores are available: ....
  24. </description>
  25. </property>
<property>
<name>http.agent.name</name>
<value>YourNutchSpider</value>
</property> <property>

<name>http.accept.language</name>

<value>ja-jp, en-us,en-gb,en;q=0.7,*;q=0.3</value>

<description>Value of the "Accept-Language" request header field.

This allows selecting non-English language as default one to retrieve.

It is a useful setting for search engines build for certain national group.

</description>

</property> <property>

<name>parser.character.encoding.default</name>

<value>utf-8</value>

<description>The character encoding to fall back to when no other information

is available</description>

</property> <property>

<name>storage.data.store.class</name>

<value>org.apache.gora.sql.store.SqlStore</value>

<description>The Gora DataStore class for storing and retrieving data.

Currently the following stores are available: ....

</description>

</property>

在命令行下输入 sudo

apt-get install ant
 安装配置ant

在命令行界面使用cd切换到nutch的根目录

可以在终端中输入以下指令开始你的第一个爬虫工作



  1. cd ${APACHE_NUTCH_HOME}/runtime/local
  2. mkdir -p urls
  3. echo 'http://nutch.apache.org/' > urls/seed.txt
cd ${APACHE_NUTCH_HOME}/runtime/local
mkdir -p urls
echo 'http://nutch.apache.org/' > urls/seed.txt
Nutch 2.2使用以下命令开始爬虫,设置线程数为30
  1. bin/nutch crawl urls -threads 30
bin/nutch crawl urls -threads 30

要查看爬取的数据时,进入数据库中输入以下指令即可查看



mysql -u xxxxx -p

use nutch;

SELECT * FROM nutch.webpage;

翻译源:http://wiki.apache.org/nutch/#Nutch_2.X_tutorial.28s.29

Nutch的配置(使用MySQL作为数据存储)的更多相关文章

  1. Ubuntu上更改MySQL数据库数据存储目录

    之前写过一篇博客"MySQL更改数据库数据存储目录",当时的测试环境是RHEL和CentOS,谁想最近在Ubuntu下面更改MySQL数据库数据存储目录时遇到了之前未遇到的问题,之 ...

  2. (转)MySQL 常用数据存储引擎区别

    MySQL 常用数据存储引擎区别 原文:https://laravel-china.org/articles/4198/mysql-common-data-storage-engine mysql有多 ...

  3. Mysql+innodb数据存储逻辑

    Mysql+innodb数据存储逻辑. 表空间由段,区,页组成 ibdata1:共享表空间.即所有的数据都存放在这个表空间内.如果用户启用了innodb_file_per_table,则每张表内的数据 ...

  4. Ubuntu 安装mysql & 自定义数据存储目录

    一.安装 apt-get install mysql-server 执行过程如下: root@duke:~# apt-get install mysql-server 正在读取软件包列表... 完成 ...

  5. mysql更改数据存储目录

    具体操作请参考文章 1.http://blog.csdn.net/aaronbai/article/details/1431190 更改数据存储目录时候会出现 ERROR 2002 (HY000): ...

  6. MySQL 的数据存储引擎

    MySQL的存储引擎 InnoDB: MySQL5.5之后的默认存储引擎. 采用MVCC来支持高并发,并且实现了四个标准的隔离级别(默认可重复读). 支持事务,支持外键.支持行锁.非锁定读(默认读取操 ...

  7. MySQL 常用数据存储引擎区别

    mysql有多种存储引擎,目前常用的是 MyISAM 和 InnoDB 这两个引擎,除了这两个引擎以为还有许多其他引擎,有官方的,也有一些公司自己研发的.这篇文章主要简单概述一下常用常见的 MySQL ...

  8. MySQL之数据存储引擎

    1.什么是存储引擎: 现实生活中我们用来存储数据的文件有不同的类型,每种文件类型对应各自不同的处理机制:比如处 理文本用txt类型,处理表格用excel,处理图片用png等,数据库中的表也应该有不同的 ...

  9. EF Core下利用Mysql进行数据存储在并发访问下的数据同步问题

    小故事 在开始讲这篇文章之前,我们来说一个小故事,纯素虚构(真实的存钱逻辑并非如此) 小刘发工资后,赶忙拿着现金去银行,准备把钱存起来,而与此同时,小刘的老婆刘嫂知道小刘的品性,知道他发工资的日子,也 ...

随机推荐

  1. Sping面试题分析

    1.开放中主要使用Spring的什么技术? (1)IOC容器管理各层的组件 (2) 使用AOP配置声明式事务 (3)整合其他框架 2简述AOP和IOC概念 AOP : Aspect  Orienten ...

  2. “王者对战”之 MySQL 8 vs PostgreSQL 10

    既然 MySQL 8 和 PostgreSQL 10 已经发布了,现在是时候回顾一下这两大开源关系型数据库是如何彼此竞争的. 在这些版本之前,人们普遍认为,Postgres 在功能集表现更出色,也因其 ...

  3. 3D数学读书笔记——矩阵进阶

    本系列文章由birdlove1987编写,转载请注明出处. 文章链接:http://blog.csdn.net/zhurui_idea/article/details/25242725 最终要学习矩阵 ...

  4. 12. mysql show status

    状态名 作用域 详解 Aborted_clients Global 因为client没有正确关闭连接导致client终止而中断的连接数 Aborted_connects Global 试图连接到MyS ...

  5. 如何使用github来展示自己的网页

    项目文档或者单纯的html页面怎么用github来展示呢? 第一步:新建库 第二步: 上传自己的页面(index.html需在根目录下) 先把git库克隆下来 进入lineShop文件夹,拷贝自己的页 ...

  6. SQL 数据库性能优化

    http://blog.csdn.net/yzllz001/article/details/54848513 1.  减少数据访问(减少磁盘访问) 2.  返回更少数据(减少网络传输或磁盘访问) 3. ...

  7. Python使用functools模块中的partial函数生成偏函数

    所谓偏函数即是规定了固定参数的函数,在函数式编程中我们经常可以用到,这里我们就来看一下Python使用functools模块中的partial函数生成偏函数的方法 python 中提供一种用于对函数固 ...

  8. 比较两个时间的大小 举例:CompareDate("12:00","11:15")

    //比较两个时间的大小 举例:CompareDate("12:00","11:15") function CompareDate(t1, t2) { var d ...

  9. js判断传入时间和当前时间大小

    //判断时间是否过期 function judgeTime(time){ var strtime = time.replace("/-/g", "/");//时 ...

  10. 五年磨一剑:Java 开源博客 Solo 1.0.0 发布了!

    从 Solo 第一个版本发布至今,已经过去 5 年了.今天我们非常自豪地宣布,Solo 1.0.0 正式发布,感谢一直以来关注 B3log 开源的朋友! 目前 B3log 开源有三款产品: GitHu ...