当前位置:Gxlcms > mysql > Nutch2.1+mysql+solr3.6.1+中文网站抓取

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

时间:2021-07-01 10:21:17 帮助过:40人阅读

1、mysql 数据库配置 linux mysql安装步骤省略。 创建数据库与表 [sql] view plaincopyprint? CREATE DATABASE nutch DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; CREATE TABLE `webpage`( `id` varchar (767) CHARACTER SET latin1 NOT N

1、mysql 数据库配置

linux mysql安装步骤省略。

创建数据库与表

[sql] view plaincopyprint?

  1. CREATE DATABASE nutch DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
  2. CREATE TABLE `webpage` (
  3. `id` varchar(767) CHARACTER SET latin1 NOT NULL,
  4. `headers` blob,
  5. `text` mediumtext DEFAULT NULL,
  6. `status` int(11) DEFAULT NULL,
  7. `markers` blob,
  8. `parseStatus` blob,
  9. `modifiedTime` bigint(20) DEFAULT NULL,
  10. `score` float DEFAULT NULL,
  11. `typ` varchar(32) CHARACTER SET latin1 DEFAULT NULL,
  12. `baseUrl` varchar(512) CHARACTER SET latin1 DEFAULT NULL,
  13. `content` mediumblob,
  14. `title` varchar(2048) DEFAULT NULL,
  15. `reprUrl` varchar(512) CHARACTER SET latin1 DEFAULT NULL,
  16. `fetchInterval` int(11) DEFAULT NULL,
  17. `prevFetchTime` bigint(20) DEFAULT NULL,
  18. `inlinks` mediumblob,
  19. `prevSignature` blob,
  20. `outlinks` mediumblob,
  21. `fetchTime` bigint(20) DEFAULT NULL,
  22. `retriesSinceFetch` int(11) DEFAULT NULL,
  23. `protocolStatus` blob,
  24. `signature` blob,
  25. `metadata` blob,
  26. PRIMARY KEY (`id`)
  27. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;



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. <property>
  2. <name>http.agent.namename>
  3. <value>Your Nutch Spidervalue>
  4. property>
  5. <property>
  6. <name>http.accept.languagename>
  7. <value>ja-jp, en-us,en-gb,en;q=0.7,*;q=0.3value>
  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.defaultname>
  15. <value>utf-8value>
  16. <description>The character encoding to fall back to when no other information
  17. is availabledescription>
  18. property>
  19. <property>
  20. <name>storage.data.store.classname>
  21. <value>org.apache.gora.sql.store.SqlStorevalue>
  22. <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关键字的网页

人气教程排行