Nutch2.1+mysql+solr3.6.1+中文网站抓取
来源:互联网 发布:电子数据的作用 编辑:程序博客网 时间:2024/05/19 05:41
1、mysql 数据库配置
linux mysql安装步骤省略。
创建数据库与表
- CREATE DATABASE nutch DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
- CREATE TABLE `webpage` (
- `id` varchar(767) CHARACTER SET latin1 NOT NULL,
- `headers` blob,
- `text` mediumtext DEFAULT NULL,
- `status` int(11) DEFAULT NULL,
- `markers` blob,
- `parseStatus` blob,
- `modifiedTime` bigint(20) DEFAULT NULL,
- `score` float DEFAULT NULL,
- `typ` varchar(32) CHARACTER SET latin1 DEFAULT NULL,
- `baseUrl` varchar(512) CHARACTER SET latin1 DEFAULT NULL,
- `content` mediumblob,
- `title` varchar(2048) DEFAULT NULL,
- `reprUrl` varchar(512) CHARACTER SET latin1 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;
A、 nutch下载地址:http://apache.etoak.com/nutch/2.1/apache-nutch-2.1-src.zip
下载完成后家压缩,
B、以下将nutch的根目录定位${APACHE_NUTCH_HOME}.
C、配置nutch对mysql的支持,修改${APACHE_NUTCH_HOME}/ivy/ivy.xml文件
将这行的注释取消<dependency org=”mysql” name=”mysql-connector-java” rev=”5.1.18″ conf=”*->default”/>
修改${APACHE_NUTCH_HOME}/conf/gora.properties文件,
注释默认存储配置
- ###############################
- # Default SqlStore properties #
- ###############################
- #gora.sqlstore.jdbc.driver=org.hsqldb.jdbc.JDBCDriver
- #gora.sqlstore.jdbc.url=jdbc:hsqldb:hsql://localhost/nutchtest
- #gora.sqlstore.jdbc.user=sa
- #gora.sqlstore.jdbc.password=
- 取消以下代码注释,
- ###############################
- # 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(mysql用户名)
- gora.sqlstore.jdbc.password=xxxxx(mysql密码)
D、修改${APACHE_NUTCH_HOME}/conf/nutch-site.xml 加入如下代码:
E、使用ant编译 ${APACHE_NUTCH_HOME} 。
- <property>
- <name>http.agent.name</name>
- <value>Your Nutch Spider</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>
F、设置待抓取的网站
cd ${APACHE_NUTCH_HOME}/runtime/local
mkdir -p urls
echo 'http://nutch.apache.org/' > urls/seed.txt
mkdir -p urls
echo 'http://nutch.apache.org/' > urls/seed.txt
G、执行爬行操作: bin/nutch crawl urls -depth 3 -topN 5
执行完在mysql中即可以查看到爬虫抓取的内容
3、安装solr,对nutch抓取的内容进行索引
(注意:参考资料中推荐使用solr4.0版本,4.0的两个版本我都试了,没有成功,所以替换为3.6.1版本)
solr下载地址:http://www.fayea.com/apache-mirror/lucene/solr/3.6.1/apache-solr-3.6.1.zip
A、解压缩下载包,
B、下载 http://nlp.solutions.asia/wp-content/uploads/2012/08/schema.xml替换${APACHE_SOLR_HOME}/example/solr/conf/schema.xml.
C、启动solr
cd ${APACHE_SOLR_HOME}/example java -jar start.jar
D、在浏览器输入地址
http://localhost:8983/solr 测试是否启动成功。
E、另起linux终端,输入如下命令,使solr对nutch抓取内容进行索引。
cd ${APACHE_NUTCH_HOME}/runtime/local/
bin/nutch solrindex http://127.0.0.1:8983/solr/ -reindex
4、测试
在浏览器输入 http://localhost:8983/solr ,看到如下界面:
在文本框中输入 content:nutch 点击查询,便可查处内容中包含nutch关键字的网页
- Nutch2.1+mysql+solr3.6.1+中文网站抓取
- Nutch2.1+mysql+solr3.6.1+中文网站抓取
- nutch2.1分布式抓取
- Nutch1.0+Solr3.6.1+IK中文分词
- nutch2.2.1抓取流程
- nutch2.0抓取流程--nutch2crawling
- windows环境下nutch2.x 在eclipse中实现抓取数据存进mysql详细步骤
- 【Nutch2.2.1基础教程之6】Nutch2.2.1抓取流程
- 【Nutch2.2.1基础教程之6】Nutch2.2.1抓取流程
- solr3.6.1源码构建
- nutch2.2 mysql 安装
- Nutch2.2.1+Eclipse+Mysql
- solr3.5.1配置IKAnalyzer中文分词器
- Tomcat7中部署Solr3.6.1
- Tomcat7中部署Solr3.6.1
- nutch2.0 配置mysql数据库
- Nutch2.2.1配置mysql存储
- nutch2.2.1+mysql集成教程
- 数据库中的万圣节问题(Database "Halloween problem")
- 精确时间计时QueryPerformanceCounter,QueryPerformanceFrequency
- 仅通过崩溃地址找出源代码的出错行
- B树的实现与源代码二(删除源代码)
- Hadoop: the definitive guide 第三版 拾遗 第十三章 之HBase起步
- Nutch2.1+mysql+solr3.6.1+中文网站抓取
- jquery datatables
- ulimit -s 指定栈上的内存上限
- C++之 把字符串作为宏参数
- 利用CSS实现段落首行缩进
- Java多线程-工具篇-BlockingQueue
- LINUX下 解决MYSQL区分大小写问题
- UVa 11520 Fill the Square (贪心&字典序)
- 小知识,随时更新