# MagicToe
MagicToe是一个基于Java爬虫框架[WebMagic](https://github.com/code4craft/webmagic)的Java爬虫实战案例,MagicToe提供了从获取数据到数据持久化、可视化分析以及构建简单的代理池等一系列完整流程,旨在为初涉Java爬虫的程序员提供一个参考教程和一整套完整的解决方案。
## 仓库目录
+ [hupu-spider](https://github.com/CrowHawk/MagicToe/tree/master/hupu-spider):爬虫功能实现模块,使用**WebMagic + SpringBoot + MyBatis**基础架构,NLP工具包是[Ansj中文分词](https://github.com/NLPchina/ansj_seg),定制抽取逻辑,将爬取的数据持久化到**MySQL**数据库中,本仓库中的代码示例爬取的是虎扑步行街。
+ [data-analysis](https://github.com/CrowHawk/MagicToe/tree/master/data-analysis):数据分析及可视化模块,使用**Spring + SpringMVC + MyBatis**的基础架构,数据可视化采用的前端技术是 **jsp +** [Echarts](http://www.echartsjs.com/)。
+ [ip-spider](https://github.com/CrowHawk/MagicToe/tree/master/data-analysis)(可选):爬取代理网站模块,技术选型同hupu-spider,将代理网站上的免费代理地址爬取到本地数据库中,实现一个简单的IP池,以供hupu-spider作为代理使用。
## QuickStart
**爬虫模块环境准备:**
+ JDK 1.8+
+ maven 4.0.0+
+ webmagic 0.7.3+
+ ansj_seg 5.1.1+
+ springboot 1.5.7+
+ mybatis 1.3.1+
+ mysql 5.1.21+
**运行爬虫:**
以爬取虎扑步行街的帖子、用户和评论为例。
1. 初始化数据库
在本地MySQL中创建自己的schema,执行初始化数据库的脚本 [`hupu-spider/src/main/resources/db.sql`](https://github.com/CrowHawk/MagicToe/blob/master/hupu-spider/src/main/resources/db.sql) ,并根据自己的数据库信息修改配置文件 [`hupu-spider/src/main/resources/application.yml`](https://github.com/CrowHawk/MagicToe/blob/master/hupu-spider/src/main/resources/application.yml) 中的数据源信息。
2. 启动爬虫
hupuspider通过URL请求的方式运行,在浏览器中键入 **localhost:8080/**(默认端口为8080,如果遇到端口冲突,可以在配置文件 [`hupu-spider/src/main/resources/application.yml`](https://github.com/CrowHawk/MagicToe/blob/master/hupu-spider/src/main/resources/application.yml) 中修改端口),爬虫即可开始运行了。
3. 运行数据可视化模块
将数据爬取到数据库中后,直接在Tomcat中运行[data-analysis](https://github.com/CrowHawk/MagicToe/tree/master/data-analysis)模块即可,通过在浏览器中输入不同的URL可以得到不同的图表,具体请查看 [`data-analysis/src/main/java/com/crow/web/EchartsController.java`](https://github.com/CrowHawk/MagicToe/blob/master/data-analysis/src/main/java/com/crow/web/EchartsController.java) 。
## 效果展示
以虎扑用户的地域分布为例:
<center><img src="http://pic.yupoo.com/crowhawk/a5b549cf/ae262b02.png"></center>
更多详细的分析请参考我的博客[《数据不说谎:用网络爬虫探秘虎扑步行街》](https://crowhawk.github.io/2017/10/25/hupuspider/)。
## TODO
* [ ] 使用Redis分布式队列实现分布式爬取。
* [ ] 使用Quartz实现定时更新数据。
## 联系作者
+ Personal Website:[Crow Home](https://crowhawk.github.io/)
+ 知乎:[Martin Crow](https://www.zhihu.com/people/martin-crow/activities)
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
基于webmagic + springboot + mybatis的Java爬虫,使用Echarts进行数据可视化分析,提供了从爬虫获取数据到数据持久化、数据可视化分析以及构建简单的代理池等一整套解决方案模板。.zip可以用于毕业设计(项目源码+项目说明)目前在window10/11测试环境一切正常,用于演示的图片和部署教程说明都在压缩包里
资源推荐
资源详情
资源评论
收起资源包目录
基于webmagic + springboot + mybatis的Java爬虫ip池 可视化系统 (199个子文件)
EchartsController.class 5KB
EchartsController.class 5KB
User.class 3KB
User.class 3KB
CommentWordService.class 2KB
CommentWordService.class 2KB
Comment.class 1KB
Comment.class 1KB
UserService.class 1KB
UserService.class 1KB
Post.class 1KB
Post.class 1KB
CommentWord.class 984B
CommentWord.class 984B
TitleWord.class 978B
TitleWord.class 978B
CommentMapper.class 938B
CommentMapper.class 938B
NameValue.class 907B
NameValue.class 907B
PostMapper.class 886B
PostMapper.class 886B
TitleWordService.class 859B
TitleWordService.class 859B
CommentService.class 854B
CommentService.class 854B
PostService.class 827B
PostService.class 827B
UserMapper.class 678B
UserMapper.class 678B
TitleWordMapper.class 482B
TitleWordMapper.class 482B
CommentWordMapper.class 290B
CommentWordMapper.class 290B
.gitattributes 58B
.gitignore 249B
.gitignore 249B
data-analysis.iml 5KB
ansj_seg-5.1.1.jar 19.72MB
nlp-lang-1.7.2.jar 2.23MB
aspectjweaver-1.8.7.jar 1.78MB
mybatis-3.3.1.jar 1.49MB
spring-context-4.2.4.RELEASE.jar 1.05MB
spring-core-4.2.4.RELEASE.jar 1.03MB
jackson-databind-2.4.3.jar 1.03MB
mysql-connector-java-5.1.38.jar 961KB
spring-webmvc-4.2.4.RELEASE.jar 854KB
spring-web-4.2.4.RELEASE.jar 749KB
spring-beans-4.2.4.RELEASE.jar 714KB
hibernate-validator-5.2.4.Final.jar 688KB
spring-test-4.2.4.RELEASE.jar 549KB
log4j-1.2.17.jar 478KB
spring-orm-4.2.4.RELEASE.jar 455KB
spring-jdbc-4.2.4.RELEASE.jar 413KB
jstl-1.2.jar 405KB
standard-1.1.2.jar 384KB
spring-aop-4.2.4.RELEASE.jar 361KB
spring-tx-4.2.4.RELEASE.jar 259KB
spring-expression-4.2.4.RELEASE.jar 257KB
jackson-core-2.4.3.jar 220KB
commons-io-2.2.jar 170KB
commons-dbcp-1.4.jar 157KB
commons-pool-1.5.4.jar 94KB
javax.servlet-api-3.1.0.jar 94KB
commons-fileupload-1.3.1.jar 67KB
jboss-logging-3.2.1.Final.jar 65KB
validation-api-1.1.0.Final.jar 62KB
classmate-1.1.0.jar 61KB
commons-logging-1.2.jar 60KB
spring-aspects-4.2.4.RELEASE.jar 57KB
mybatis-spring-1.2.4.jar 50KB
jsp-api-2.2.jar 49KB
slf4j-api-1.7.18.jar 40KB
jackson-annotations-2.4.0.jar 38KB
aopalliance-1.0.jar 4KB
HupuBxjPageProcessor.java 8KB
EchartsController.java 4KB
UserAgentUtil.java 3KB
UserAgentUtil.java 3KB
User.java 2KB
HupuSpiderPipeline.java 2KB
CrowProxyProvider.java 2KB
StartUpController.java 2KB
CommentWordService.java 2KB
ProxyPoolProcessor2.java 2KB
ProxyPoolProcessor1.java 2KB
StartUpController.java 1KB
IPCheckUtil.java 1KB
HupuBxjPostInfo.java 1KB
User.java 1KB
IPSpiderPipeline.java 997B
URLGeneratedUtil.java 990B
CommentMapper.java 979B
CommentList.java 965B
Comment.java 912B
Comment.java 912B
PostMapper.java 890B
Post.java 730B
Post.java 730B
CommentWord.java 711B
共 199 条
- 1
- 2
资源评论
不走小道
- 粉丝: 3346
- 资源: 5057
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- JSP基于SSM校园二手书交易平台源码毕业案例设计.zip
- 电线线路隐藏风险检测35-YOLO(v5至v9)、COCO、CreateML、Darknet、Paligemma、VOC数据集合集.rar
- JSP基于SSM大学生求职招聘网站源码毕业案例设计.zip
- java课程设计,毕业设计选题系统.zip
- Java基于SSM校园购物商城设计源码毕业案例设计.zip
- Java基于SSM教务选课成绩管理系统设计毕业源码案例设计.zip
- CVPR2024《通过 TSP6K 数据集解析交通场景(Traffic Scene Parsing through the TSP6K Dataset)》+ PyTorch 代码+英文论文
- IMG_20241204_134912.jpg
- 4套PPT模板,专业设计,适用于学术答辩与商务汇报
- JAVA,数据库课程设计、毕业设计仓库管理系统使用MySQL和Java.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功