• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Gwenson-robot: 这是一个使用JAVA语言开发的应用级的分布式爬虫搜索引擎机器人 ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

Gwenson-robot

开源软件地址:

https://gitee.com/wgs123/Gwenson-robot

开源软件介绍:

Gwenson-robot爬虫机器人

这是一个使用JAVA语言开发的可分布式的爬虫机器人,利用redis的list实现匀速爬取目标,并实现了url去重和目标内容去重。其中目标内容去重是先利用word分词然后再利用simhash算法得到一个SimHashCode值,再利用抽屉原理判断海明距离从而得到相似度。注意:使用JDK1.8

[TOC]

我的项目应用部署地址

Gwenson 个人爬虫搜索引擎

该项目都用到了哪些技术?

​ spring boot、spring data redis、jsoup、word、mybatis、spring data elasticsearch、spring mvc、bootstrap、JSP等等

工程项目结构的介绍

common 模块项目是一个公共工具类依赖包模块。

项目结构介绍:

common└─src    └─main      └─java          └─com              └─gwenson                 └─common                      ├─dao                      │  └─redis                      ├─model                      └─utils    

search-robot模块项目是一个基于spring boot框架的爬虫机器人模块。

项目结构介绍:

   search-robot   └─src       └─main         ├─java         │  └─com         │      └─gwenson         │          ├─controller         │          ├─listener         │          └─robot         │              ├─cahce         │              ├─config         │              ├─page         │              │  ├─dto         │              │  ├─redis         │              │  │  └─dao         │              │  ├─rule         │              │  │  ├─dao         │              │  │  └─service         │              │  │      └─impl         │              │  └─service         │              │      └─impl         │              ├─proterty         │              │  ├─model         │              │  ├─redis         │              │  │  └─dao         │              │  └─task         │              └─utils         └─resources              ├─application.properties   //启动配置              ├─application-prod.properties  //生成环境              ├─application-dev.properties   //测试环境              ├─blacklist.txt			//黑名单              ├─whitelist.txt			//白名单              └─logback.xml			//logback日志配置

search-robot的src/main/resouces下的文件介绍

​ application.properties是项目启动的必要配置文件:

   #项目监听端口   server.port=8081   #项目路径   #server.context-path=/   #引用生配置,prod是生产,dev是测试   spring.profiles.active=prod   #容器启动完成后的监听类   context.listener.classes=com.gwenson.listener.ApplicationStartup   #是否开启代理ip,true开启,false不开启   gwensong.robot.property.start=false   #是否开启自动定时爬取代理ip功能,true开启,false不开启   gwensong.robot.property.autoScheduled=false   #自定义代理ip列表   #gwensong.robot.property.userDefinedPath=D:/gwenson/property.txt   gwensong.robot.property.userDefinedPath=   #分表数,用来生成tableId   database.table.num=64   #设置爬虫的优先级别,广度优先为:wide;深度度优先为:depth   gwensong.robot.search.scope=depth   #配置白名单列表   gwensong.robot.search.whitelistPath=/whitelist.txt   #配置黑名单列表   gwensong.robot.search.blacklistPath=/blacklist.txt   #web controller启动爬虫用户名   gwenson.robot.user.username=root   #web controller启动爬虫密码   gwenson.robot.user.password=123456
application-prod.properties或application-dev.properties是区分启动的环境配置,和application.properties里的spring.profiles.active=prod对应:
   profile = prod_envrimont   #tomcat 编码设置,默认是UTF-8   server.tomcat.uri-encoding=UTF-8   #tomcat的启动日志logs   server.tomcat.accesslog.directory=/gwenson/logs/search-robot/tomcat.log   # REDIS (RedisProperties)    # database name      spring.redis.database=0   # localhost # server host redis的地址    spring.redis.host=127.0.0.1   # server password  redis的密码   spring.redis.password=   # connection port  redis的监听端口   spring.redis.port=6379    # pool settings ...     spring.redis.pool.max-idle=8    spring.redis.pool.min-idle=0     spring.redis.pool.max-active=-1     spring.redis.pool.max-wait=-1   spring.redis.timeout=100000

search-view模块是一个基于spring mvc的搜索引擎web门户应用

项目结构介绍:

src├─main│  ├─java│  │  └─com│  │      └─gwenson│  │          └─search│  │              ├─controller│  │              ├─dao│  │              │  ├─elasticsearch│  │              │  └─xml│  │              ├─filter│  │              ├─interceptor│  │              ├─listener│  │              ├─model│  │              ├─service│  │              │  └─imp│  │              ├─servlet│  │              └─utils│  ├─resources│  │  └─spring //spring datasource位置│  └─webapp│      └─WEB-INF│          ├─static│          │  ├─conf│          │  └─html  //首页 index.html└──────────└─views   //结果页 search.jsp

search-view的src/main/resouces下的文件介绍

​ jdbc.properties是search-view的mysql数据库和redis连接用户和密码存放文件:

#mysql的数据库连接配置jdbc.driverClassName=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://127.0.0.1:3306/search?useUnicode=true&characterEncoding=utf8&autoReconnect=true&rewriteBatchedStatements=truejdbc.username=rootjdbc.password=123456jdbc.maxActive=20  jdbc.maxIdle=10jdbc.maxWait=4000#Redis settings#Redis的配置redis.host=127.0.0.1redis.port=6379redis.password=redis.maxIdle=300redis.minIdle=10redis.maxActive=600redis.maxWait=1000redis.testOnBorrow=trueredis.testOnReturn=trueredis.timeout=1000000

怎么使用?

(一) 安装maven,编译maven项目

在Gwenson-robot目录下执行mvn命令:

$ mvn clean install package -Dmaven.test.skip=true

成功会在最好出现该字样:

[INFO] ------------------------------------------------------------------------[INFO] Reactor Summary:[INFO][INFO] search-parent ...................................... SUCCESS [  0.400 s][INFO] common ............................................. SUCCESS [  2.891 s][INFO] search-robot ....................................... SUCCESS [  3.299 s][INFO] search-view ........................................ SUCCESS [ 15.059 s][INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS[INFO] ------------------------------------------------------------------------[INFO] Total time: 22.235 s[INFO] Finished at: 2017-12-05T17:19:21+08:00[INFO] Final Memory: 49M/345M[INFO] ------------------------------------------------------------------------

(二) 部署启动search-robot

1、安装redis2、在项目src/main/resources下的application-prod.properties里的spring.redis.host= spring.redis.password= 配置你redis地址和密码 3、执行jar运行命令启动java -jar /gwenson/app/search-robot/search-robot-0.0.1-SNAPSHOT.ja4、在浏览器地址执行下面url启动爬虫http://localhost:8081/start/search?username=root&password=123456curl "http://localhost:8081/start/search?username=root&password=123456"

(三) 部署启动search-view

1、安装MYSQL​ 然后在src/main/resouces下的jdbc.properties的mysql的数据库连接配置配置上你的地址属性

2、安装elasticsearch-2.3.4版本​ 安装word分词插件点击这里查看安装方法

​ 在src/main/resouces下的spring.xml配置elasticsearch的服务地址:

<elasticsearch:transport-client id="client" cluster-nodes="127.0.0.1:9300" cluster-name="my-application" />

127.0.0.1:9300改为你的服务地址和端口

3、解压\Gwenson-robot\search-view\target\search-view.war到你指定的目录如:d:\Gwenson-robot\search-view

4、安装tomcat

​ 修改tomcat下的conf下的server.xml的

 <Context docBase="d:\Gwenson-robot\search-view" path="/" reloadable="true" /></Host>

​ docBase改为你的项目地址

​ 启动tomcat下的bin下的startup.sh

项目开源地址

在开源中国Gitee上

在Github上


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap