Nutch2.1+mysql+solr3.6.1+中文网站抓取
在[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() CHARACTER SET latin1 NOT NULL, `headers` blob, `text` mediumtext DEFAULT NULL, `status` int() DEFAULT NULL, `markers` blob, `parseStatus` blob, `modifiedTime` bigint() DEFAULT NULL, `score` float DEFAULT NULL, `typ` varchar() CHARACTER SET latin1 DEFAULT NULL, `baseUrl` varchar() CHARACTER SET latin1 DEFAULT NULL, `content` mediumblob, `title` varchar() DEFAULT NULL, `reprUrl` varchar() CHARACTER SET latin1 DEFAULT NULL, `fetchInterval` int() DEFAULT NULL, `prevFetchTime` bigint() DEFAULT NULL, `inlinks` mediumblob, `prevSignature` blob, `outlinks` mediumblob, `fetchTime` bigint() DEFAULT NULL, `retriesSinceFetch` int() 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., for Win64 (x86_64)
--
-- Host: yqxt Database: nutch
-- ------------------------------------------------------
-- Server version 5.6. /*!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() CHARACTER SET latin1 NOT NULL,
`headers` blob,
`text` mediumtext,
`status` int() DEFAULT NULL,
`markers` blob,
`parseStatus` blob,
`modifiedTime` bigint() DEFAULT NULL,
`score` float DEFAULT NULL,
`typ` varchar() CHARACTER SET latin1 DEFAULT NULL,
`baseUrl` varchar() CHARACTER SET latin1 DEFAULT NULL,
`content` mediumblob,
`title` varchar() DEFAULT NULL,
`reprUrl` varchar() CHARACTER SET latin1 DEFAULT NULL,
`fetchInterval` int() DEFAULT NULL,
`prevFetchTime` bigint() DEFAULT NULL,
`inlinks` mediumblob,
`prevSignature` blob,
`outlinks` mediumblob,
`fetchTime` bigint() DEFAULT NULL,
`retriesSinceFetch` int() 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 -- ::
2、安装nutch2.1
A、 nutch下载地址:http://apache.etoak.com/nutch/2.1/apache-nutch-2.1-src.zip
- ###############################
- # 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密码)
- < span>property<
- < span>name<http.agent.namename<
- < span>value<Your Nutch Spidervalue<
- property<
- < span>property<
- < span>name<http.accept.languagename<
- < span>value<ja-jp, en-us,en-gb,en;q=0.7,*;q=0.3value<
- < span>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<
- < span>property<
- < span>name<parser.character.encoding.defaultname<
- < span>value<utf-8value<
- < span>description<The character encoding to fall back to when no other information
- is availabledescription<
- property<
- < span>property<
- < span>name<storage.data.store.classname<
- < span>value<org.apache.gora.sql.store.SqlStorevalue<
- < span>description<The Gora DataStore class for storing and retrieving data.
- Currently the following stores are available: ….
- description<
- property<
E、使用ant编译 ${APACHE_NUTCH_HOME} 。
mkdir -p urls
echo 'http://nutch.apache.org/' < urls/seed.txt
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
Nutch2.1+mysql+solr3.6.1+中文网站抓取的更多相关文章
- [转]使用Scrapy建立一个网站抓取器
英文原文:Build a Website Crawler based upon Scrapy 标签: Scrapy Python 209人收藏此文章, 我要收藏renwofei423 推荐于 11个月 ...
- PHP登入网站抓取并且抓取数据
有时候需要登入网站,然后去抓取一些有用的信息,人工做的话,太累了.有的人可以很快的做到登入,但是需要在登入后再去访问其他页面始终都访问不了,因为他们没有带Cookie进去而被当做是两次会话.下面看看代 ...
- sciencedirect 网站抓取过程
开发环境 C#+SQLite 软件使用教程: 设置页面 1. 首先录入需要查询的关键词,如果需要根据年去查询,可以勾选对应的年,支持多个年份查询.点击[设置关键字]按钮,把待查询关键 ...
- c#使用WebClient登录网站抓取登录后的网页
C#登录网站实际上就是模拟浏览器提交表单,然后记录浏览器响应返回的会话Cookie值,再次发送请求时带着这个会话cookie值去请求就可以实现模拟登录的效果了. 如下类CookieAwareWebCl ...
- wget整站抓取、网站抓取功能;下载整个网站;下载网站到本地
wget -r -p -np -k -E http://www.xxx.com 抓取整站 wget -l 1 -p -np -k http://www.xxx.com 抓取第一级 - ...
- Nutch 2.2+MySQL+Solr4.2实现网站内容的抓取和索引
原文地址: http://blog.sina.com.cn/s/blog_3c9872d00101p4f0.html Nutch 2.2.1发布快两月了,该版本与Nutch之前版本相比,有较大变化,特 ...
- 【转】详解抓取网站,模拟登陆,抓取动态网页的原理和实现(Python,C#等)
转自:http://www.crifan.com/files/doc/docbook/web_scrape_emulate_login/release/html/web_scrape_emulate_ ...
- windows环境下nutch2.x 在eclipse中实现抓取数据存进mysql详细步骤
nutch2.x 在eclipse中实现抓取数据存进mysql步骤 最近在研究nutch,花了几天时间,也遇到很多问题,最终结果还是成功了,在此记录,并给其他有兴趣的人提供参考,共同进步. 对nutc ...
- nutch2.1+mysql+elasticsearch整合linux单机部署
这次主要介绍下nutch2.1和mysql和elasticsearch的整合,是在单机上运行,并不是分布式部署.1.下载nutch2.1 nutch下载地址:http://labs.mop.com/a ...
随机推荐
- linu SSH 不在同一网段的两台机器如何通过ssh通信,SSH限制特定网段登陆的方法
1. linu SSH 不在同一网段的两台机器如何通过ssh通信 https://blog.csdn.net/lhf19891003/article/details/39895763 https:// ...
- Java program to find the largest element in array
Java program to find the largest element in array Given an array of numbers, write a java program to ...
- JAVA 后台面试之操作系统问题集锦
1.进程和线程以及他们的区别 2.进程间通信的几种方式 3.线程同步的方式 4.死锁 5.分页和分段有什么区别?(内存管理) 6.操作系统中进程调度的策略有哪几种? 7.页面置换算法: 8.系统颠簸 ...
- oauth2 + jwt 实现用户中心
由于公司项目比较杂,以前都是各产品线自行完成注册和登入.随着产品迭代,需要一个用户中心统一用户的管理,写个博客做个记录. 用oauth2实现,jwt作为token生成. oauth2流程图: user ...
- Python中创建数值列表——参考Python编程从入门到实践
1. 函数range( )的使用 range( )函数可以生成一系列的数字: for value in range(1, 5): print(value) Note:运行结果是打印数字1到4,即该函数 ...
- Linux中光标消失解决办法
假如Linux下光标消失,不要急: echo -e "\033[?25l" 隐藏光标 echo -e "\033[?25h" 显示光标 (转载自:https: ...
- PB笔记之取项次最大值(即使用.describe(" evaluate('ITM_max',0) ") 获取列的最大值) 的条件
dw_1.describe(" evaluate('ITM_max',0) ") :使用 describe 配合 evaluate 取列的最大最小值(或其它表达式)时,必须在数据 ...
- Python TypeError: __init__() got multiple values for argument 'master'(转)
转自:https://stackoverflow.com/questions/33153404/python-typeerror-init-got-multiple-values-for-argume ...
- VS.NET(C#)--2.2_事件
事件 事件 由用戶行为生成系统触发(事件处理程序).在ASP.NET中,对象可以触发事件.用户在浏览器对服务器控件的任何行为都可能触发事件,但是在服务器端处理. 页面和控件事件 它们继承自contro ...
- 手把手教小白安装Erlang
Erlang(['ə:læŋ])是一种通用的面向并发的编程语言,它有瑞典电信设备制造商爱立信所辖的CS-Lab开发,目的是创造一种可以应对大规模并发活动的编程语言和运行环境. Erlang官网:htt ...