前言
🍊缘由
Iphone15来了,两年之约你还记得吗?
遂整合之前iphone13及iphone14的相关抢购代码,完成一个SpringBoot监听Iphone15有货邮件提醒+python自动化脚本小功能。
后端基于SpringBoot,通过苹果官网进行有货接口调用,将JSON结果解析分析是否有货,并展示近10条有货记录列;可灵活监听对应型号,通过邮件关联,有货邮件通知;也可灵活进行有货自动触发自动化Selenium+Python脚本,从而解放双手,直接起飞。
本文以iPhone 15 Pro Max为例进行解析,若iPhone 15 Pro可自行修改即可。
🎁快速链接
公众号:【JavaDog程序狗】
关注公众号,发送 chat ,无任何套路即可获得
🥝成果初展
1.测试邮箱连通
2.有货订阅监听
3.有货消息列表
4.Selenium+Python自动化脚本
🎯主要目标
实现3大重点
1. SpringBoot监听Iphone有货信息
2. 有货JavaMail邮件通知
3. 有货自动执行Selenium+Python自动化脚本
正文
🍋前置条件
1.Java环境(必备)
后端以SpringBoot为技术栈,所以Java环境是前置条件
2.企业/SMTP邮箱(非必须)
如果配置了邮件监听,需要一个企业邮箱或者SMTP邮箱进行推送,此条件非必须,可在项目中配置是否使用邮件推送,见下图
3.Selenium+Python环境(非必须)
如果想有货自动执行Selenium+Python自动化脚本,就需要搭建Python相关环境。如果有不了解可以参考本狗之前的文章,里面有环境的搭建流程。
常见Selenium+Python问题
Chromedriver与Chrome版本不兼容问题
参考文章
https://blog.csdn.net/jylsrnzb/article/details/131492090
本狗提供2个脚本,可灵活使用
🔆技术栈
后端
插件 | 版本 | 用途 |
---|---|---|
jdk | 1.8 | java环境 |
lombok | 1.18.16 | 代码简化插件 |
maven | 3.6.3 | 包管理工具 |
druid | 1.1.24 | JDBC组件 |
hutool | 5.7.20 | Java工具类库 |
mybatis-plus | 3.4.1 | 基于 MyBatis 增强工具 |
mysql | 8.0 / 5.7 | 数据库 |
spring-boot | 2.5.15 | SpringBoot的依赖配置 |
前端
插件 | 版本 | 用途 |
---|---|---|
layui | 2.5.6 | 经典开源模块化前端 UI 框架 |
jquery | 2.1.1 | 简洁的JavaScript框架 |
🌽重点解析
1.苹果有货接口分析
- 苹果有货接口剖析
其中第一个{}表示型号,第二个{}表示地区,拼接后通过HTTP请求调用并分析是否有货
- 监听定时任务时间corn表达式配置
建议使用动态ip,会避免503错误
2.有货邮件推送
- 引入邮箱依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
<version>${
boot.version}</version>
</dependency>
- 完善邮件YMAL配置
- 使用JavaMailSenderImpl发送
- 灵活管控是否发送邮件通知
3.Selenium+Python自动化抢购脚本
- 型号颜色/型号容量对应map整理,用于有货后自动执行python脚本传参值对应匹配
- 灵活管控是否自动执行Python自动化抢购脚本
- 执行脚本绝对路径设置
4.全景GIF图
总结
本文通过Java配合Python,以SpringBoot监听苹果有货接口,从而下发进行邮件通知及自动化抢购脚本执行。熟悉后端技术栈的同时,也可以回顾Layui及Jquery等老技术。希望协议技术大佬可以予以指点,互相学习进步。
🏳️🌈写在最后:支持国货!支持国货!支持国货!
🍯猜你喜欢
文章推荐
【项目实战】SpringBoot+uniapp+uview2打造H5+小程序+APP入门学习的聊天小项目
【项目实战】SpringBoot+uniapp+uview2打造一个企业黑红名单吐槽小程序
【模块分层】还不会SpringBoot项目模块分层?来这手把手教你!