ant编译apache-nutch-2.2.1结合mysql实现爬虫的安装配置全过程
之前的数据抓取都是用的八爪鱼软件,老大突发奇想要我自己搞个爬虫来抓取数据,网上找找貌似apache的nutch比较合适,于是就开始安装这啥nutch。
对于一个linux零基础的人来说,还要先学学linux,大致了解了ssh连接工具怎么用后就开始正事了。了解到从nutch2开始,源码就必须要自己编译了,所以还要先安装ant。低版本的ant还不行,需要1.6以上的,所以找了个最新的。
ant安装:(ant是基于java的,所以要先确保系统中已经安装了jdk)
1.下载地址:http://ant.apache.org/bindownload.cgi 下载apache-ant-1.9.4-bin.tar.gz(当前最新版本),将该下载包拷贝到/usr/local下(随意了,找个地方就好)
2。解压
cd /usr/local
tar -zxvf apache-ant-1.8.1-bin.tar.gz
解压后会在/usr/local 下生成一个文件夹apache-ant-1.8.1
3。配置环境变量
vi /etc/profile,如下所示 加入ANT_HOME(解压的ant的路径)同时修改path
unset i
unset pathmunge
export JAVA_HOME=/usr/java/jdk1.7.0_25
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export ANT_HOME=/usr/local/apache-ant-1.9.4
export PATH=$JAVA_HOME/bin:$ANT_HOME/bin:$PATH
赋予连接
cd /usr/bin
ln -s -f /usr/local/ant/bin/ant
4。验证是否安装成功
运行ant -version,输出如下内容:
[root@localhost ~]# ant -version
Apache Ant version 1.9.4 compiled on 。。。。
ok,ant配置完成。
nutch的安装:
一.下载:
从官网http://www.apache.org/dyn/closer.cgi/nutch/下载最新版本apache-nutch-2.2.1同样放在本地usr/local(位置当然随个人喜好)
二.解压
cd /usr/local
tar -zxvf apache-nutch-2.2.1-bin.tar.gz
三.ant编译前需要做的几件事:
(1)需要下载sonar的jar包(sonar-ant-task-2.1.jar),并将jar包放到解压好的apache-nutch-2.2.1文件夹内
没有这个jar包,编译会出现错误如下:
[taskdef] Could not load definitions from resource org/sonar/ant/antlib.xml. It could not be found. ivy-probe-antlib: ivy-download:
[taskdef] Could not load definitions from resource org/sonar/ant/antlib.xml. It could not be found.
(2)nutch编译安装时需要从maven资源库下载jar包,其本身配置文件中的maven仓库地址是不存在的,所以需要修改。
即:cd apache-nutch-2.2.1/ivy
vi ivy.setting.xml 修改nutch里ivy目录下的ivysetting.xml
<property name="repo.maven.org" value="http://repo1.maven.org/maven2/" override="false"/>
将maven的路径用http://mirrors.ibiblio.org/maven2/替换,或者其他可用的maven仓库地址。
(3)设置数据抓取的存储位置(可以选择使用HBase、Accumulo、Cassandra 、MySQL 、DataFileAvroStore、AvroStore中任何一种来存储数据,但其中一些并不成熟。)
我选择了简单的mysql,以后学习的Hadoop可以试着和Hadoop结合。
1.手动创建数据库nutch和数据表webpage【如果不想用默认的库名和表名也可在nutch安装后的相关配置文件中进行修改,见后续说明】,其中webpage的表结构如下:
CREATE TABLE `webpage` ( `id` varchar(767) NOT NULL, `headers` blob, `text` longtext DEFAULT NULL, `status` int(11) DEFAULT NULL, `markers` blob, `parseStatus` blob, `modifiedTime` bigint(20) DEFAULT NULL, `prevModifiedTime` bigint(20) DEFAULT NULL, `score` float DEFAULT NULL, `typ` varchar(32) CHARACTER SET latin1 DEFAULT NULL, `batchId` varchar(32) CHARACTER SET latin1 DEFAULT NULL, `baseUrl` varchar(767) DEFAULT NULL, `content` longblob, `title` varchar(2048) DEFAULT NULL, `reprUrl` varchar(767) DEFAULT NULL, `fetchInterval` int(11) DEFAULT NULL, `prevFetchTime` bigint(20) DEFAULT NULL, `inlinks` mediumblob, `prevSignature` blob, `outlinks` mediumblob, `fetchTime` bigint(20) DEFAULT NULL, `retriesSinceFetch` int(11) DEFAULT NULL, `protocolStatus` blob, `signature` blob, `metadata` blob, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
注:表中的字段根据nutch的conf文件“gora-sql-mapping”进行设置。同时也可通过自动方式生成数据库和表:配置好“gora-sql-mapping”、“gora.properties”及其它文件后,首次通过运行”bin/nutch inject urls”即可自动生成数据库和表,不过或许在自动生成的时候你会遇到问题。gora-sql-mapping配置文件如下:
<gora-orm> <class name="org.apache.nutch.storage.WebPage" keyClass="java.lang.String" table="webpage">
<primarykey column="id" length="512"/>
<field name="baseUrl" column="baseUrl" length="512"/>
<field name="status" column="status"/>
<field name="prevFetchTime" column="prevFetchTime"/>
<field name="fetchTime" column="fetchTime"/>
<field name="fetchInterval" column="fetchInterval"/>
<field name="retriesSinceFetch" column="retriesSinceFetch"/>
<field name="reprUrl" column="reprUrl" length="512"/>
<field name="content" column="content" length="65536"/>
<field name="contentType" column="typ" length="32"/>
<field name="protocolStatus" column="protocolStatus"/>
<field name="modifiedTime" column="modifiedTime"/>
<field name="prevModifiedTime" column="prevModifiedTime"/>
<field name="batchId" column="batchId" length="32"/> <!-- parse fields -->
<field name="title" column="title" length="512"/>
<field name="text" column="text" length="32000"/>
<field name="parseStatus" column="parseStatus"/>
<field name="signature" column="signature"/>
<field name="prevSignature" column="prevSignature"/> <!-- score fields -->
<field name="score" column="score"/>
<field name="headers" column="headers"/>
<field name="inlinks" column="inlinks"/>
<field name="outlinks" column="outlinks"/>
<field name="metadata" column="metadata"/>
<field name="markers" column="markers"/>
</class> <class name="org.apache.nutch.storage.Host" keyClass="java.lang.String"
table="host">
<primarykey column="id" length="512"/>
<field name="metadata" column="metadata"/>
<field name="inlinks" column="inlinks"/>
<field name="outlinks" column="outlinks"/>
</class> </gora-orm>
注:此处需要将gora-sql-mapping.xml中的id的length改成255。貌似是编码问题。
配置nutch对mysql的支持:修改${APACHE_NUTCH_HOME}/ivy/ivy.xml文件,分别:
将以下行的注释取消
<dependency org=”mysql” name=”mysql-connector-java” rev=”5.1.18″ conf=”*->default”/>
修改以下行
- 从默认的<dependency org="org.apache.gora" name="gora-core" rev="0.3" conf="*->default"/>,改成<dependency org="org.apache.gora" name="gora-core" rev="0.2.1" conf="*->default"/>
- 将以下行的注释取消
<dependency org="org.apache.gora" name="gora-sql" rev="0.1.1-incubating" conf="*->default" />
如果不修改以上的两点,Exception in thread “main” Java.lang.ClassNotFoundException:org.apache.gora.sql.store.SqlStore
3. 数据库连接配置
编辑/conf/gora.properties文件,注释掉默认的数据库连接配置,同时添加以下配置内容:
###############################
# Default MySql properties #
############################### gora.sqlstore.jdbc.driver=com.mysql.jdbc.Driver
gora.sqlstore.jdbc.url=jdbc:mysql://192.168.70.4:3306/nutch-test
gora.sqlstore.jdbc.user=root1
gora.sqlstore.jdbc.password=123456
4.修改nutch-default配置文件
添加http.agent.name的值 <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>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> <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>generate.batch.id</name> <value>*</value> </property>
如果不添加最后的一段,
at org.apache.nutch.util.NutchJob.waitForCompletion(NutchJob.java:54),查询发现utf8 传入了空,log报空指针
四.执行ant编译:
cd apache-nutch-2.2.1
ant
clean-lib: resolve-default:
[ivy:resolve] :: Ivy 2.2.0 - 20100923230623 :: http://ant.apache.org/ivy/ ::
[ivy:resolve] :: loading settings :: file = /home/shaozt/softIns/CrawSource/apache-nutch-2.1/ivy/ivysettings.xml
当编译执行到此处时,由于需要从maven仓库下载jar包,所以需要等待2-5分钟连接服务器,根据网络情况决定,需要等很久,有时还会连接服务器失败,如果等很久,可以Ctrl+C退出后,从新ant编译。直到出现编译成功。build successful
runtime: BUILD SUCCESSFUL
Total time: 18 seconds
[root@localhost apache-nutch-2.2.1]#
cd apache-nutch-2.2.1
tree -L 1 查看目录发现多了build 和 runtime两个文件夹 安装成功
.
|-- CHANGES.txt
|-- LICENSE.txt
|-- NOTICE.txt
|-- README.txt
|-- build
|-- build.xml
|-- conf
|-- default.properties
|-- docs
|-- ivy
|-- lib
|-- runtime
|-- sonar-ant-task-2.1.jar
`-- src
五.网页抓取配置
1) 设置抓取的网站
cd ${NUTCH_HOME}/runtime/local
mkdir -p urls
echo 'http://www.taobao.com' > urls/seed.txt
2) 执行爬取操作
bin/nutch crawl urls -depth 3 -topN 5
执行完在mysql中即可查看到爬虫抓取的内容,如下图:
aaarticlea/png;base64,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" alt="" />
ant编译apache-nutch-2.2.1结合mysql实现爬虫的安装配置全过程的更多相关文章
- WAMP(Windows、Apache、MySQL、php)安装配置过程常见问题
WAMP(Windows.Apache.MySQL.php)安装配置过程 可以参考该网友的总结(总结的不错,鼓掌!!): http://www.cnblogs.com/pharen/archive/2 ...
- windos环境apache+mysql+php+Discuz的安装配置
首先是相关软件的下载:PHP.Apache和Mysql软件以及VC库.相关软件可到我的百度网盘下载,百度网盘:http://pan.baidu.com/s/1o6DYcMu 相关软件的直接下载地址: ...
- Apache Spark 1.6 Hadoop 2.6 Mac下单机安装配置
一. 下载资料 1. JDK 1.6 + 2. Scala 2.10.4 3. Hadoop 2.6.4 4. Spark 1.6 二.预先安装 1. 安装JDK 2. 安装Scala 2.10.4 ...
- CentOS 6.6安装配置LAMP服务器(Apache+PHP5+MySQL)
准备篇: CentOS 6.6系统安装配置图解教程 http://www.osyunwei.com/archives/8398.html 1.配置防火墙,开启80端口.3306端口 vi /etc/s ...
- CentOS 7.0安装配置LAMP服务器(Apache+PHP+MariaDB)
CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.service #停止fir ...
- CentOS 6.3安装配置LAMP服务器(Apache+PHP5+MySQL)
准备篇: 1.配置防火墙,开启80端口.3306端口 vi /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp -- ...
- CentOS 7.0 安装配置LAMP服务器方法(Apache+PHP+MariaDB)(转)
转自:http://www.jb51.net/os/188488.html 作者:佚名 字体:[增加 减小] 来源:osyunwei 准备篇: CentOS 7.0系统安装配置图解教程 http:/ ...
- CentOS 6.5安装配置LAMP服务器(Apache+PHP5+MySQL)的方法
CentOS 6.5安装配置LAMP服务器(Apache+PHP5+MySQL)的方法 准备篇: 1.配置防火墙,开启80端口.3306端口vi /etc/sysconfig/iptables-A I ...
- CentOS 6.3安装配置LAMP服务器(Linux+Apache+MySQL+PHP5)
服务器系统环境:CentOS 6.3 客户端系统环境:Windows 7 ultimate(x86)sp1 简体中文旗舰版 ※ 本文档描述了如何在Linux服务器配置Apache.Mysql.PHP ...
随机推荐
- The service definition selected is invalid
吐槽下 最近在学Java 听闻Java生态很好 社区很多 但实际操作起来确实另一番风景 不多说了 说正事 添加WebService服务Client时有密码认证得服务 Eclipse抛出 The ser ...
- sqlserver学习
清空数据表: delete from TableName 清除表中的所有的数据,保留表的结构 truncate table TableName 清除表中所有行,保留表结构 (重置ID) 删除表 Dr ...
- 浅谈java classloader
本文由作者张远道授权网易云社区发布. 类加载器三杰 jvm有三类classloader,分别是bootstrap classloader,extended classloader以及system cl ...
- java简单的邮件发送
java实现简单的邮件发送案例,学会了这个你就可以利用这个来整你的好友了,不断地给他进行邮箱轰炸(当然个人不建议瞎搞),最重要的是明白其中的原理最好了.话不多说,直接看代码案例了.首先需要导入的jar ...
- Mac 设置终端中使用 sublime 打开文件
在Mac下用终端创建文件等比较方便,但如果配合Sublime用,最好是可以直接在终端中输入命令就可以用Sublime打开指定文件或文件夹. #检查用户目录下有没有bin目录,如里没有就创建一个(目的是 ...
- poj1220------高精度进制转换模板
#include<iostream> #include<cstdio> #include<cstring> using namespace std; const i ...
- CTFcrackTools-V3 – 一款旨在帮助 CTFer 在 CTF 中发挥作用的一个框架
CTFcrackTools-V3 CTFcrackTools重置版 作者:米斯特安全-林晨.摇摆.奶权 米斯特安全团队首页:http://www.hi-ourlife.com/ 部分插件来源:希望团队 ...
- .NET Windows Form 改变窗体类名(Class Name)有多难?
研究WinForm的东西,是我的一个个人兴趣和爱好,以前做的项目,多与WinForm相关,然而这几年,项目都与WinForm没什么关系了,都转为ASP.NET MVC与WPF了.关于今天讨论的这个问题 ...
- position:absolute元素 怎样居中
<div style = 'height:20px;position:absolute;z-index:9999;top:0;left:0;right:0;margin:auto;'> & ...
- day 47 Django 4的简单应用 创建简单的图书管理 (单表的增删改查)
前情提要 Django 已经学了大半.. 很多东西已经能够使用在生产环境当中 一:模糊查询 二:单表删除 三:单表修改 四:图书管理 图书管理操作 视图结构 A:路由层 A :配置路由文件 参数解 ...