安装部署
Gather Platform 支持目前所有的主流操作系统,包括Windows/Mac/Linux。
依赖项
本系统需要如下依赖:
- JDK 8 及以上
- Tomcat 8.3 及以上
可选依赖组件:
- Elasticsearch 5.2 (安装ansj插件)
部署方式
本系统提供一份预编译版本和配置好的依赖环境,只需从百度云下载,按照步骤安装即可使用.从0.1版本开始 Gather Platform 不再默认存储ES,如果需要将数据存储至ES,或者需要数据查看与搜索功能,则需要开启ES.
与不需要ES的版本相比,开启ES之后,搜索平台将可以实现以下功能:
- 增量抓取
- 数据查看与搜索
- 数据统计
- 数据分析
方式1:极简模式
这种方式不将数据存储至ES,仅存储至磁盘文件,无法实现数据查看与分析功能。
- 安装JDK 8 ,从ORACLE下载JDK
- 从百度云下载 密码: v3jm, 预编译安装包和依赖环境,解压apache-tomcat-8.zip,将spider.war放入Tomcat下面的webapp文件夹,tomcat请勿安装到含有空格或者中文等字符的路径下面
- 进入tomcat目录下的bin文件夹,若是*nix环境运行
startup.sh
,windows环境运行startup.bat
- 然后使用浏览器访问
http://localhost:8080/spider
打开数据采集平台Web控制台 - 抓取下来的数据存储在
TOMCAT_HOME/bin/gather_platform_data
文件夹下,每一个抓取任务单独存储一个json文件,文件名为任务号,每一行为一条网页数据. - the pre-compile version of this software can also be downloaded at GoogleDrive Download
方式2: 全功能模式
这种方式可以实现所有的功能,需要配置ES。
- 从百度云下载 密码: v3jm, 预编译安装包和依赖环境,下载
elasticsearch-5.2.2.zip
注意:如果在启动elasticsearch时发生elasticsearch.bat闪退的问题请修改
JAVA_HOME/jre/lib/security/java.policy
文件,在grant
段落里面加入
permission java.io.FilePermission "ES安装路径/*", "read";
除此之外,ES和tomcat请勿安装到含有空格或者中文等字符的路径下面.
- 安装JDK 8 ,从ORACLE下载JDK
- 解压elasticsearch-5.2.2.zip,如果不使用本项目提供的elasticsearch,则需要安装elasticsearch-ansj插件github 。
- 进入bin文件夹,若是*nix环境运行
elasticsearch
,windows环境运行elasticsearch.bat
使用浏览器访问
http://localhost:9200
,显示如下内容则证明elasticsearch安装成功{ "name": "oZJJkBV", "cluster_name": "elasticsearch", "cluster_uuid": "N2SxzviYQ6mpkApohZTgfg", "version": { "number": "5.2.2", "build_hash": "f9d9b74", "build_date": "2017-02-24T17:26:45.835Z", "build_snapshot": false, "lucene_version": "6.4.1" }, "tagline": "You Know, for Search" }
- 解压apache-tomcat-8.zip,将spider.war放入Tomcat下面的webapp文件夹
- 解压spider.war,打开
spider/WEB-INF/classes/staticvalue.json
配置文件, 将needEs
配置项改为true 然后打开
spider/WEB-INF/classes/mvc-dispatcher-servlet.xml
配置文件,找到输出源配置项,按照下面进行配置:<property name="pipelineList"> <list> <ref bean="commonWebpagePipeline"/> <!--<ref bean="jsonFilePipeline"/>--> </list> </property>
这样的配置就是不再向Json文件进行输出,而将数据输出至ES进行存储.
- 进入tomcat目录下的bin文件夹,若是*nix环境运行
startup.sh
,windows环境运行startup.bat
- 然后使用浏览器访问
http://localhost:8080/spider
打开数据采集平台Web控制台
方式3:编译安装
- 安装 JDK 8 以上版本, ORACLE
- 下载并安装Elasticsearch 5.2, elastic.co
- 安装ansj-elasticsearch插件, github
- 运行Elasticsearch
- 安装Tomcat 8, Apache Tomcat
- 下载本项目源码包
src/resource/staticvalue.json
配置文件, 将needEs
配置项改为truesrc/resource/mvc-dispatcher-servlet.xml
配置文件,找到输出源配置项,按照下面进行配置:<property name="pipelineList"> <list> <ref bean="commonWebpagePipeline"/> <!--<ref bean="jsonFilePipeline"/>--> </list> </property>
这样的配置就是不再向Json文件进行输出,而将数据输出至ES进行存储.
- 执行
mvn package
编译打包 - 将spider.war放入Tomcat下面的webapp文件夹
运行tomcat
方式4:Docker安装
https://hub.docker.com/r/jobrest/gather-platform/
感谢hurricanetx提供支持
Ajax网页渲染器
注意,以下内容为需要采集ajax网页时的配置项,如果没有需要可以忽略。
如果待采集的网站是通过ajax进行渲染的,首先需要安装配置ajax渲染器,然后在配置模板时在最下方的
是否是ajax网页
处打钩,即可采集ajax渲染的网页。下面介绍ajax渲染器的部署方法。首先安装phantomjs,然后下载脚本点击下载。建议将此脚本放在phantomjs的bin目录下。需要注意的是,phantomjs需要安装在不包含空格和中文的路径下。 安装完毕之后,使用phantomjs启动此脚本即可,启动时需要带一个端口参数,建议值:7788.如果ajax渲染器与采集平台不在同一台机器或者不使用此端口(7788),需要在
src/resource/staticvalue.json
配置文件中修改。启动完毕后访问
http://localhost:7788/
,如可访问,并展示类似下面的信息,则说明安装成功。history字段表示最近的几次渲染请求信息,如果刚刚安装好,从未使用过,此处为空。
{
"status": "OK",
"history": [
{
"proxy": "",
"jsViewportWidth": 1024,
"jsViewportHeight": 1024,
"loadImages": false,
"timeout": 5,
"url": "http://news.qq.com",
"method": "get",
"data": ""
}
]
}
常见问题
启动报错:找不到XXX文件
不论采用上述那种方式部署在Windows机器上,均不要部署在含有空格或者中文的路径下。
ES启动不了
如果报max file discriptors相关的错误,则需要系统参数设置,看下这个链接 http://www.tuicool.com/articles/ArYjmaM
如果报can't run as root则说明使用了root账户启动ES,这是不被允许的。参考https://my.oschina.net/topeagle/blog/591451
如果在windows中ES启动闪退,如果在启动elasticsearch时发生elasticsearch.bat闪退的问题请修改
JAVA_HOME/jre/lib/security/java.policy
文件,在grant
段落里面加入permission java.io.FilePermission "ES安装路径/*", "read";
启动ES报ansj相关错误
如果是自己从官网下载的ES则需要另外安装ansj插件,如果对ES不熟悉可以直接使用百度云中安装好的版本。
无法获取数据
首先确定这个网站使用手工可以访问。