1、mysql 数据库配置
linux mysql安装步骤省略。
在首先进入/etc/my.cnf (mysql为5.1的话就不用修改my.cnf,会导致mysql不能启动)
在[mysqld]
下添加:
innodb_file_format=barracuda
innodb_file_per_table=true
innodb_large_prefix=true
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
创建表:
CREATE DATABASE nutch5 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
use nutch5;
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; 

或者用数据库备份sql:

先创建数据库:

CREATE DATABASE nutch2 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

-- MySQL dump 10.13  Distrib 5.6.10, for Win64 (x86_64)
--
-- Host: yqxt    Database: nutch
-- ------------------------------------------------------
-- Server version    5.6.10/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;--
-- Table structure for table `webpage`
--DROP TABLE IF EXISTS `webpage`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `webpage` (`id` varchar(767) CHARACTER SET latin1 NOT NULL,`headers` blob,`text` mediumtext,`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;
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;-- Dump completed on 2013-07-01  9:36:44

View Code

2、安装nutch2.1
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文件
将这行的注释取消default”/<
修改${APACHE_NUTCH_HOME}/conf/gora.properties文件,
注释默认存储配置

[html]view plaincopyprint?
  1. ###############################
  2. # Default SqlStore properties #
  3. ###############################
  4. #gora.sqlstore.jdbc.driver=org.hsqldb.jdbc.JDBCDriver
  5. #gora.sqlstore.jdbc.url=jdbc:hsqldb:hsql://localhost/nutchtest
  6. #gora.sqlstore.jdbc.user=sa
  7. #gora.sqlstore.jdbc.password=
  8. 取消以下代码注释,
  9. ###############################
  10. # MySQL properties
  11. ################################
  12. gora.sqlstore.jdbc.driver=com.mysql.jdbc.Driver
  13. gora.sqlstore.jdbc.url=jdbc:mysql://localhost:3306/nutch?createDatabaseIfNotExist=true
  14. gora.sqlstore.jdbc.user=xxxxx(mysql用户名)
  15. gora.sqlstore.jdbc.password=xxxxx(mysql密码)

D、修改${APACHE_NUTCH_HOME}/conf/nutch-site.xml 加入如下代码:
[html]view plaincopyprint?
  1. < span>property<
  2. < span>name<http.agent.namename<
  3. < span>value<Your Nutch Spidervalue<
  4. property<
  5. < span>property<
  6. < span>name<http.accept.languagename<
  7. < span>value<ja-jp, en-us,en-gb,en;q=0.7,*;q=0.3value<
  8. < span>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. < span>property<
  14. < span>name<parser.character.encoding.defaultname<
  15. < span>value<utf-8value<
  16. < span>description<The character encoding to fall back to when no other information
  17. is availabledescription<
  18. property<
  19. < span>property<
  20. < span>name<storage.data.store.classname<
  21. < span>value<org.apache.gora.sql.store.SqlStorevalue<
  22. < span>description<The Gora DataStore class for storing and retrieving data.
  23. Currently the following stores are available: ….
  24. description<
  25. property<

E、使用ant编译 ${APACHE_NUTCH_HOME} 。

F、设置待抓取的网站
cd ${APACHE_NUTCH_HOME}/runtime/local 
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关键字的网页

转载于:https://www.cnblogs.com/fengfengqingqingyangyang/p/3156696.html

Nutch2.1+mysql+solr3.6.1+中文网站抓取相关推荐

  1. nutch mysql solr_Nutch2.1+mysql+solr3.6.1+中文网站抓取

    1.mysql 数据库配置 linux mysql安装步骤省略. 创建数据库与表 [sql] view plaincopyprint? CREATE DATABASE nutch DEFAULT CH ...

  2. 系统检测到您正在使用网页抓取工具访问_从网站抓取数据的3种最佳方法

    halo,大家好,我是特仑苏,今天呢给大家分享一些Python从网站抓取数据的一些方法,希望可以给大家带来一些帮助! 原作者:Octoparse团队 原出处:作品文(从网站抓取数据的3种最佳方法)/网 ...

  3. 成都网络推广告诉大家网站抓取量要如何解决?

    在成都网络推广网站的优化中,网站想要有排名,就要有更好的搜索引擎抓取量,获得蜘蛛更多的关注和"关照",这样才能更好地提升网站收录,促进排名提升,那么该如何提高搜索引擎抓取量呢?下面 ...

  4. 网络营销专员表示网络营销中设置不当会影响蜘蛛爬虫对网站抓取

    在日常网站优化中如果想要网站拥有良好的网站排名,就要针对搜索引擎的抓取习惯培养友好度和信任度,网站在运营优化中难免会发生因为一些细节问题影响蜘蛛爬虫对网站正常抓取,那么究竟哪些操作设置会影响蜘蛛爬虫对 ...

  5. http下载异常_百度网站抓取异常的原因有哪些?有什么影响和解决方法?

    大纲如下:1.抓取异常是什么?百度抓取异常又是什么?2.百度抓取异常的原因有哪些?3.网站抓取异常的原因有哪些?4.百度抓取异常对网站有什么影响?5.网站出现抓取异常的解决方法抓取异常是什么?百度抓取 ...

  6. python 企业微信群机器人_企业微信群机器人应用:使用python从网站抓取行业资讯并定时推送...

    在企业经营过程中,及时了解行业相关信息(市场动态.竞品策略.行业数据等等)是非常必要的.通常情况下,商品部门.营销部门.市场部门可能都会安排专门的人员定期进行这些信息的搜集.整理,再进行内部的分享. ...

  7. div区域内容抓取_企业微信群机器人应用:使用python从网站抓取行业资讯并定时推送...

    在企业经营过程中,及时了解行业相关信息(市场动态.竞品策略.行业数据等等)是非常必要的.通常情况下,商品部门.营销部门.市场部门可能都会安排专门的人员定期进行这些信息的搜集.整理,再进行内部的分享. ...

  8. Flash游戏抓取,flash网站抓取,网页游戏提取工具

    网页游戏提取软件 flash网站抓取 swf文件下载工具 转载于:https://blog.51cto.com/asv2011/774435

  9. Python之 - 使用Scrapy建立一个网站抓取器,网站爬取Scrapy爬虫教程

    Scrapy是一个用于爬行网站以及在数据挖掘.信息处理和历史档案等大量应用范围内抽取结构化数据的应用程序框架,广泛用于工业. 在本文中我们将建立一个从Hacker News爬取数据的爬虫,并将数据按我 ...

最新文章

  1. Nat. Med. | 人工智能临床研究新指南
  2. vi/vim 中批量在行插入或删除指定字符
  3. 薪资那么高的Web前端的工作者,想要提高薪资就必须看的书单
  4. ASP入门(十三)-Server对象
  5. java getjsonarray_无法在Java中访问getJSONArray
  6. java thrift连接池_由浅入深了解Thrift之客户端连接池化
  7. android 防止重复启动app,Android应用开发Android 防止启动页面(SplashActivity)被多次启动...
  8. VALSE学习(五):看图说话-Visual Question Answering as Reading Comprehension
  9. 《数学女孩》 读书笔记 Part 1 of 5
  10. PCB线宽过流能力估算
  11. 时钟系统(NTP子母钟系统)如何为高铁系统保驾护航
  12. 脱离低级趣味- Python ‘\r‘, ‘\n‘, ‘\r\n‘ 的彻底理解
  13. Mac node.js express-generator脚手架安装
  14. 红旗Linux的特点和应用范围,三大特性!红旗Linux Desktop 7体验
  15. 个人简介个人自我介绍PPT模板
  16. C++实现高斯坐标的正反算
  17. “玲珑杯”ACM 热身赛 # 2.5 A-B (数论)
  18. 【计算机网络】——习题解析:一个UDP用户数据的数据字段为8192字节,在数据链路层要使用以太网来传输,试问应当划分为几个IP数据报片?说明每一个IP数据报字段长度和片偏移字段的值
  19. FileAlterationMonitor监听目录下文件变化
  20. 朴素安静的宅寂风格装修

热门文章

  1. zookeeper的安装及配置教程(步骤详尽)
  2. Scala Case类和对象
  3. cmd10与16进制的相互转换
  4. springboot 按钮权限验证_SpringBoot中实现Shiro控制ThymeLeaf界面按钮级权限控制
  5. QML控件拖动并靠边停留
  6. ArrayList集合的使用和源码详细分析
  7. linux添加永久变量,linux中永久性变量和临时变量的设置
  8. ffmpeg 硬件解码rtsp流_树莓派使用硬件加速视频转码
  9. 基于stm32、0.96寸OLED实现的贪吃蛇小游戏(详细源码注释)
  10. java函数名没有加throw_C++函数声明后面加throw()的作用