【苹果】SpringBoot监听Iphone15邮件提醒,Selenium+Python自动化抢购脚本

2023-09-19 15:56:22

前言

🍊缘由

Iphone15来了,两年之约你还记得吗?

两年前,与特别的人有一个特别的约定。虽物是人非,但思念仍在。

在这里插入图片描述
遂整合之前iphone13及iphone14的相关抢购代码,完成一个SpringBoot监听Iphone15有货邮件提醒+python自动化脚本小功能。后端基于SpringBoot,通过苹果官网进行有货接口调用,将JSON结果解析分析是否有货,并展示近10条有货记录列;可灵活监听对应型号,通过邮件关联,有货邮件通知;也可灵活进行有货自动触发自动化Selenium+Python脚本,从而解放双手,直接起飞。此文以iPhone 15 Pro Max为例进行解析,若iPhone 15 Pro可自行修改即可。


🎁快速链接

公众号:【JavaDog程序狗】
关注公众号,发送 chat ,无任何套路即可获得

在这里插入图片描述


🥝成果初展

测试邮箱连通

在这里插入图片描述
在这里插入图片描述

有货订阅监听

在这里插入图片描述
在这里插入图片描述

有货消息列表

在这里插入图片描述

Selenium+Python自动化脚本

请添加图片描述


🎯主要目标

实现3大重点

1. SpringBoot监听Iphone有货信息
2. 有货JavaMail邮件通知
3. 有货自动执行Selenium+Python自动化脚本

正文

🍋前置条件

Java环境(必备)

后端以SpringBoot为技术栈,所以Java环境是前置条件
在这里插入图片描述

企业/SMTP邮箱(非必须)

如果配置了邮件监听,需要一个企业邮箱或者SMTP邮箱进行推送,此条件非必须,可在项目中配置是否使用邮件推送,见下图
在这里插入图片描述

Selenium+Python环境(非必须)

如果想有货自动执行Selenium+Python自动化脚本,就需要搭建Python相关环境。如果有不了解可以参考本狗之前的文章,里面有环境的搭建流程。

iphone14来了,可是约好的你去哪了

iphone13到底香不香,真的这么难抢?

常见Selenium+Python问题

Chromedriver与Chrome版本不兼容问题

参考文章
https://blog.csdn.net/jylsrnzb/article/details/131492090

本狗提供2个脚本,可灵活使用
在这里插入图片描述


🔆技术栈

后端

插件版本用途
jdk1.8java环境
lombok1.18.16代码简化插件
maven3.6.3包管理工具
druid1.1.24JDBC组件
hutool5.7.20Java工具类库
mybatis-plus3.4.1基于 MyBatis 增强工具
mysql8.0 / 5.7数据库
spring-boot2.5.15SpringBoot的依赖配置
前端
插件版本用途
layui2.5.6经典开源模块化前端 UI 框架
jquery2.1.1简洁的JavaScript框架

🌽重点解析

苹果有货接口分析

  • 苹果有货接口剖析
    在这里插入图片描述
    其中第一个{}表示型号第二个{}表示地区,拼接后通过HTTP请求调用并分析是否有货

在这里插入图片描述

  • 监听定时任务时间corn表达式配置

建议使用动态ip,会避免503错误
在这里插入图片描述
在这里插入图片描述

有货邮件推送

  • 引入邮箱依赖
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-mail</artifactId>
    <version>${boot.version}</version>
</dependency>
  • 完善邮件YMAL配置

在这里插入图片描述

  • 使用JavaMailSenderImpl发送

在这里插入图片描述

  • 灵活管控是否发送邮件通知

在这里插入图片描述


Selenium+Python自动化抢购脚本

  • 型号颜色/型号容量对应map整理,用于有货后自动执行python脚本传参值对应匹配

在这里插入图片描述

  • 灵活管控是否自动执行Python自动化抢购脚本

在这里插入图片描述

  • 执行脚本绝对路径设置

在这里插入图片描述

全景GIF图

在这里插入图片描述

总结

本文通过Java配合Python,以SpringBoot监听苹果有货接口,从而下发进行邮件通知及自动化抢购脚本执行。熟悉后端技术栈的同时,也可以回顾Layui及Jquery等老技术。希望协议技术大佬可以予以指点,互相学习进步。

🏳️‍🌈写在最后:支持国货!支持国货!支持国货!

🍈猜你想问

如何与狗哥联系进行探讨

关注公众号【JavaDog程序狗】

公众号回复【入群】或者【加入】,便可成为【程序员学习交流摸鱼群】的一员,问题随便问,牛逼随便吹。
在这里插入图片描述

此群优势:

  1. 技术交流随时沟通
  2. 任何私活资源免费分享
  3. 实时科技动态抢先知晓
  4. CSDN资源免费下载
  5. 本人一切源码均群内开源,可免费使用
2.踩踩狗哥博客

javadog.net

大家可以在里面留言,随意发挥,有问必答


🍯猜你喜欢

文章推荐

【项目实战】SpringBoot+uniapp+uview2打造H5+小程序+APP入门学习的聊天小项目

【项目实战】SpringBoot+uniapp+uview2打造一个企业黑红名单吐槽小程序

【模块分层】还不会SpringBoot项目模块分层?来这手把手教你!

【ChatGPT】手摸手,带你玩转ChatGPT

【ChatGPT】SpringBoot+uniapp+uview2对接OpenAI,带你开发玩转ChatGPT


在这里插入图片描述

更多推荐

python基础语法回顾

1/1pythoneval函数1/1eval()函数是Python中的一个内置函数,它用于执行一个字符串形式的Python表达式,并返回表达式的结果。这个函数接受一个字符串参数,然后将其解析并执行,将结果返回。通常情况下,eval()用于动态地执行Python代码。以下是eval()函数的基本语法:pythonresu

共享股东:让你的连锁店铺更有竞争力

你是否有过这样的困扰:你经营了一家或多家连锁店铺,但是客流量不稳定,收入不理想,资金周转困难,竞争对手层出不穷,你怎么才能让你的店铺更有吸引力,更有利润,更有发展前景呢?如果你有这样的困扰,那么你可能需要了解一下共享股东这个新兴的商业模式。共享股东是一种利用互联网平台,将线下实体店铺的资源和利润与消费者和投资者进行共享

Mysql

视频链接黑马Mysql基础篇通用语法及分类DDL:数据定义语言,用来定义数据库对象(数据库、表、字段)DML:数据操作语言,用来对数据库表中的数据进行增删改DQL:数据查询语言,用来查询数据库中表的记录DCL:数据控制语言,用来创建数据库用户、控制数据库的控制权限DDL(数据定义语言)数据定义语言数据库操作查询所有数据

企业工程项目管理系统源码(三控:进度组织、质量安全、预算资金成本、二平台:招采、设计管理)

工程项目管理软件(工程项目管理系统)对建设工程项目管理组织建设、项目策划决策、规划设计、施工建设到竣工交付、总结评估、运维运营,全过程、全方位的对项目进行综合管理工程项目各模块及其功能点清单一、系统管理1、数据字典:实现对数据字典标签的增删改查操作2、编码管理:实现对系统编码的增删改查操作3、用户管理:管理和查看用户角

MySQL数据库详解 二:数据库的高级语言和操作

文章目录1.克隆表----将数据表的数据记录生成到新的表中1.1方式一:先创建新表,再导入数据1.2方式二:创建的时候同时导入2.清空表----删除表内的所有数据2.1delete删除2.2truncate删除(重新记录)2.3创建临时表(退出数据库自动删除)3.创建外键约束----保证数据的完整性和一致性3.1MyS

UI自动化测试实践

一、设计背景随着IT行业的发展,产品愈渐复杂,web端业务及流程更加繁琐,目前UI测试仅是针对单一页面,操作量大。为了满足多页面功能及流程的需求及节省工时,设计了这款UI自动化测试程序。旨在提供接口,集成到蜗牛自动化测试框架,方便用例的设计。整个程序是基于selenium设计的。程序对selenium提供的接口进行了二

基于Java+微信小程序实现《医院管理系统小程序》

博主介绍:✌全网粉丝30W+,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌🍅文末获取源码联系🍅👇🏻精彩专栏推荐订阅👇🏻不然下次找不到哟2022-2024年最全的计算机软件毕业设计选题

基于Java+微信小程序实现《模拟考试平台》

博主介绍:✌全网粉丝30W+,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌🍅文末获取源码联系🍅👇🏻精彩专栏推荐订阅👇🏻不然下次找不到哟2022-2024年最全的计算机软件毕业设计选题

学习笔记-接口测试(postman、jmeter)

目录一、什么是接口测试二、前端和后端三、get请求和post请求的区别四、cookie和session五、接口测试的依据六、HTTP状态码七、通用接口用例八、postman接口测试九、Jmeter接口测试一、什么是接口测试通常做的接口测试指的是系统对外的接口,比如你需要从别的系统来获取到或者同步资源与信息,他们会提供给

华为云云耀云服务器L实例评测|宝塔一站式安装数据库MySQL+Redis教程

目录前言一、传统服务器安装数据库1.安装MySQL2.安装Redis二、云耀云服务器L安装MySQL1.云耀云服务器L实例购买2.远程登录并重置密码3.云耀云服务器L初始化宝塔面板4.宝塔面板安装数据库5.MySQL第三方登录三、云耀云服务器L安装Redis1.宝塔面板安装Redis2.Redis密码设置及第三方登录总

Linux开发工具之编辑器-vim

vim简单来说就是一款文本编辑器,用于写代码,更是一款多模式编辑器vim的基本概念vim有许多种模式,但是铁三角是以下三种模式:命令模式,插入模式,底行模式1正常/普通/命令模式(默认打开)控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入插入模式,底行模式2插入模式只有在插入模式下,才可以做文字输入,按「E

热文推荐