MagicToe

基于webmagic + springboot + mybatis的Java爬虫,使用Echarts进行数据可视化分析,提供了从爬虫获取数据到数据持久化、数据可视化分析以及构建简单的代理池等一整套解决方案模板。

  • 所有者: tianshb/MagicToe
  • 平台:
  • 許可證:
  • 分類:
  • 主題:
  • 喜歡:
    0
      比較:

Github星跟蹤圖

MagicToe

MagicToe是一个基于Java爬虫框架WebMagic的Java爬虫实战案例,MagicToe提供了从获取数据到数据持久化、可视化分析以及构建简单的代理池等一系列完整流程,旨在为初涉Java爬虫的程序员提供一个参考教程和一整套完整的解决方案。

仓库目录

  • hupu-spider:爬虫功能实现模块,使用WebMagic + SpringBoot + MyBatis基础架构,NLP工具包是Ansj中文分词,定制抽取逻辑,将爬取的数据持久化到MySQL数据库中,本仓库中的代码示例爬取的是虎扑步行街。
  • data-analysis:数据分析及可视化模块,使用Spring + SpringMVC + MyBatis的基础架构,数据可视化采用的前端技术是 jsp + Echarts
  • ip-spider(可选):爬取代理网站模块,技术选型同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 ,并根据自己的数据库信息修改配置文件 hupu-spider/src/main/resources/application.yml 中的数据源信息。
  2. 启动爬虫
    hupuspider通过URL请求的方式运行,在浏览器中键入 localhost:8080/(默认端口为8080,如果遇到端口冲突,可以在配置文件 hupu-spider/src/main/resources/application.yml 中修改端口),爬虫即可开始运行了。
  3. 运行数据可视化模块
    将数据爬取到数据库中后,直接在Tomcat中运行data-analysis模块即可,通过在浏览器中输入不同的URL可以得到不同的图表,具体请查看 data-analysis/src/main/java/com/crow/web/EchartsController.java

效果展示

以虎扑用户的地域分布为例:

更多详细的分析请参考我的博客《数据不说谎:用网络爬虫探秘虎扑步行街》

TODO

  • 使用Redis分布式队列实现分布式爬取。
  • 使用Quartz实现定时更新数据。

联系作者

主要指標

概覽
名稱與所有者tianshb/MagicToe
主編程語言Java
編程語言Java (語言數: 1)
平台
許可證
所有者活动
創建於2017-10-25 08:09:44
推送於2017-10-26 07:55:00
最后一次提交2017-10-26 15:54:23
發布數0
用户参与
星數364
關注者數29
派生數155
提交數15
已啟用問題?
問題數3
打開的問題數3
拉請求數0
打開的拉請求數0
關閉的拉請求數0
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?