欢迎您,来到孕妇堂!

孕妇堂首页|手机版

当前位置:首页 > 生活知识 > 生活

基于spring

时间:2023-08-22 14:06:05 浏览:43

由于公司业务需要,需要获取客户提供的微信微信官方账号历史文章,并每天更新。很明显,每天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模块:是

rocketmq-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的缩写)总流程图

第六,运行截图

个人电脑和手机

安慰

运行结束

摘要

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

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

相关文章

猜你喜欢

反馈