南风娱乐网致力于优质软件,活动线报,游戏辅助,绿色工具等资源共享,好货不私藏!
精品资源,免费分享

基于Spring Cloud的全自动化微信公众号消息采集系统

作者:管理员

前言

由于公司业务需要,需要获取客户提供的微信微信官方账号历史文章,并每天更新。很明显,每天300多个微信官方账号不能手动查,问题提交给IT团队。对于爱爬虫的人,我肯定要演他。我以前在搜狗做过微信爬虫,然后一直在做java web。这个**重新点燃了我对爬行动物的热爱。第一次用春云架构做爬虫用了20多天,终于定下来了。接下来我会通过一系列的文章分享这个**的经验,并呈现源代码给大家指正!

一.系统介绍

本系统基于Java开发,只需简单配置微信官方账号名称或微信号,即可定时或即时捕捉微信官方账号上的文章(包括阅读量、赞、读)。

二、系统架构

技术架构

春云、回弹、米巴蒂斯-Plus、Nacos、RocketMq、nginx

保存

Mysql、MongoDB、Redis、Solr

高速缓存

使用心得

机构

小提琴手

三、制度的利弊

系统优势

1.微信官方账号配置好后,可以通过Fiddler和Websocket的JS注入功能全自动抓取;2.系统是高可用性的分布式架构;3.火箭Mq消息队列解耦,可以解决网络抖动导致的收集失败。三次消费不成功,日志会记录到mysql,保证文章的完整性;4.可以加入任意数量的微信号,提高采集效率,抵抗反爬限制;5.Redis缓存每个微信号24小时内收集的记录,防止标题;6.Nacos作为配置中心,可以通过热配置实时调整采集频率;7.将收集的数据存储在Solr集群中,提高检索速度;8.将捕获包返回的记录存储在MongoDB存档中,以便查看错误日志。

系统缺点:

1.通过真机收集消息。如果需要收集大量微信官方账号,需要有多个微信号作为支持(当天账号达到限制,可以通过抓取微信公众平台界面获取消息);2.并不是微信官方账号一发消息就能抓到。采集时间由系统设定,消息有一定的滞后(如果微信官方账号不多,可以通过增加采集频率来优化微信号数量)。

四.模块简介

由于后面会增加管理系统和API调用函数,所以提前封装了一些函数。

公共-ws-starter

公共模块:存储工具类、实体类等公共消息。

redis-ws-starter

Redis模块:
spring-boot-starter-data-Redis的二次封装,公开封装的Redis工具类和Redisson工具类。

rockemq-ws-starter

火箭Mq模块:针对
火箭MQ-spring-boot-starter的二次封装,提供消耗重试和故障日志记录功能。

db-ws-starter

Mysql数据源模块:封装mysql数据源,支持多数据源,通过自定义标注实现数据源的动态切换。

sql-wx-spider

Mysql数据库模块:提供操作mysql数据库的所有功能。

pc-wx-spider

PC端采集模块:包括微信官方账号历史消息PC端采集的相关功能。

java-wx-spider

Java提取模块:包含Java程序提取文章内容的相关功能。

mobile-wx-spider

模拟器采集模块:包括通过模拟器或手机采集信息的交互量相关功能。

动词 (verb的缩写)总流程图

基于Spring Cloud的全自动化微信公众号消息采集系统

第六,运行截图

个人电脑和手机

基于Spring Cloud的全自动化微信公众号消息采集系统

基于Spring Cloud的全自动化微信公众号消息采集系统

控制台

基于Spring Cloud的全自动化微信公众号消息采集系统

基于Spring Cloud的全自动化微信公众号消息采集系统

基于Spring Cloud的全自动化微信公众号消息采集系统

运行结束

基于Spring Cloud的全自动化微信公众号消息采集系统

总结

**的亲测现已投入运营,在**开发中已经解决了微信在搜狗的临时链接到永久链接的问题,希望对被类似业务困扰的老铁有所帮助。现在,做java就像逆水行舟。不进则退。不知道什么时候会涉及到。祝大家都有自己的葵花宝典。看到这个不就给收藏了吗?

免责声明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络收集整理,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!

最新评论