python脚本抢各大平台大额优惠卷

news/2024/11/30 1:53:46/

文章目录

  • python脚本抢各大平台大额优惠卷
    • 写在前面
    • 准备阶段
      • 一、所需工具
      • 二、ChromeDriver下载教程
    • 三、Seleuinm安装
      • 1、打开cmd,输入如下命令
    • 开始抢券
      • 淘宝脚本
      • 京东抢购脚本

python脚本抢各大平台大额优惠卷

在这里插入图片描述

写在前面

当电商平台上演盛大的购物狂欢时,如双十一、双十二,我们常常面临着选择困难症:琳琅满目的商品使我们不知所措,而一旦选定了心仪的商品,看到价格后却可能望而却步。面对这种情况,很多人渴望能够享受到各种优惠,比如大额满减和优惠券,然而通常情况下,这些优惠券抢购的竞争激烈,一般人难以抢到。

不过,别担心!今天我将分享如何利用Python实现零成本抢购优惠券,帮助你在电商狂潮中脱颖而出。通过这个方法,你将有机会在购物过程中轻松获取各类优惠,让你的购物体验更加愉快和经济实惠。

在这个过程中,我们将利用Python编写脚本,通过自动化程序模拟用户的操作,实现快速、高效地抢购优惠券的目标。这不仅能够提高抢购的成功率,还能够让你更加轻松地享受到电商平台提供的各种优惠活动。下面就请期待我的表演吧!!!

在这里插入图片描述

准备阶段

一、所需工具

  1. Python版本:3.7.4
  2. Chrome浏览器版本:下载地址
  3. ChromeDriver下载:下载地址
  4. 注意:Chrome浏览器版本和ChromeDriver版本要保持一致,案例使用均为120.0.6099.129版本
    在这里插入图片描述

二、ChromeDriver下载教程

  1. 浏览器访问:ChromeDriver下载:下载地址

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 下载与chrom浏览器对应版本的ChromeDriver

在这里插入图片描述

  1. 将下载好的chromedriver.exe文件放置到chrome浏览器所在目录

在这里插入图片描述

  1. 我的电脑→属性→高级系统设置→环境变量→系统变量→Path→编辑→新建,将复制的目录粘贴确定即可,注意:要一路确定返回。

在这里插入图片描述

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

三、Seleuinm安装

学习【Seleuinm】

Selenium是一个开源、免费、简单、灵活,对Web浏览器支持良好的自动化测试工具,在UI自动化、爬虫等场景下是十分实用的,能够熟练掌握并使用Selenium工具可以大大的提高效率。

Selenium简介
Selenium支持多平台、多浏览器、多语言去实现自动化测试,是一个开源和可移植的Web测试框架,支持并行测试执行,从而减少了时间并提高了测试效率。利用它,我们可以编写相关的自动化程序,让程序完全像人一样在浏览器里面操作Web界面,比如模拟鼠标点击、模拟键盘输入等等。不但能够操作Web界面,还能从Web中获取信息,并且相对来说,使用Selenium来获取信息更加简单,它的基本原理是我们编写自动化程序之后利用浏览器驱动直接对浏览器进行操作,只要我们用户能在浏览器上获得的信息使用Selenium都可以获得。

1、打开cmd,输入如下命令

pip install selenium

如果你的pip不管用,就去把python添加到环境变量,如果还不管用,就去看看你的pip怎么回事,或者试试pip3 install selenium
我之前安装过,所以就显示已安装,我这里是安装过,更新了一下

在这里插入图片描述

安装完以后,在你的python安装路径下的lib目录下就能看到

在这里插入图片描述

可以使用如下命令查看版本

pip show selenium

在这里插入图片描述

开始抢券

淘宝脚本

下面附上淘宝和京东平台抢券脚本,大家只需复制脚本到python编译器中运行即可

from selenium import webdriver
import datetime
import timedef login(url, login_wait_time=20):# 打开淘宝首页,并进行登录driver.get("https://www.taobao.com")time.sleep(3)# 查找登录链接并点击try:login_link = driver.find_element_by_link_text("亲,请登录")login_link.click()print("请在{}秒内完成登录".format(login_wait_time))time.sleep(login_wait_time)driver.get(url)except Exception as e:print(f"登录失败:{e}")time.sleep(3)now = datetime.datetime.now()print('登录成功:', now.strftime('%Y-%m-%d %H:%M:%S'))def buy(buy_time):while True:now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')# 对比时间,时间到的话就点击结算if now >= buy_time:try:# 查找立即抢购按钮并点击buy_button = driver.find_element_by_id("J_LinkBuy")print("速度点击!!!")buy_button.click()time.sleep(0.09)# 等待提交订单按钮出现,然后点击while now >= buy_time:try:print("赶紧买!!!")go_button = driver.find_element_by_class_name('go-btn')go_button.click()except:time.sleep(0.02)except Exception as e:print(f"抢购失败:{e}")time.sleep(0.08)print(now)time.sleep(0.05)# 主函数
if __name__ == "__main__":# 用户输入抢购时间和商品地址times = input("请输入抢购时间:时间格式:2023-12-26 19:45:00.000000 ")url = input("请输入抢购地址: ")# 启动 Chrome 浏览器driver = webdriver.Chrome()# 执行登录和抢购login(url)buy(times)

京东抢购脚本

from selenium import webdriver
import datetime
import timedef login():# 打开淘宝登录页,并进行扫码登录browser.get("https://www.jd.com")time.sleep(3)if browser.find_element_by_link_text("你好,请登录"):browser.find_element_by_link_text("你好,请登录").click()print("请在30秒内完成扫码登录")time.sleep(30)browser.get("https://cart.jd.com")time.sleep(3)now = datetime.datetime.now()print('登录成功:', now.strftime('%Y-%m-%d %H:%M:%S'))time.sleep(5)def buy(target_time, choose):# 点击购物车里全选按钮if choose == 2:print("请手动勾选需要购买的商品")while True:now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')# 对比时间,时间到的话就点击结算if now > target_time:if choose == 1:while True:try:if browser.find_element_by_id("J_SelectAll2"):browser.find_element_by_id("J_SelectAll2").click()breakexcept:print("找不到购买按钮,请手动勾选")# 点击结算按钮while True:try:if browser.find_element_by_link_text("去结算"):browser.find_element_by_link_text("去结算").click()print("结算成功")breakexcept:passwhile True:try:if browser.find_element_by_id('order-submit'):browser.find_element_by_id('order-submit').click()now1 = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')print("抢购成功时间:%s" % now1)except:print("再次尝试提交订单")time.sleep(0.01)# 抢购主函数
if __name__ == "__main__":target_time = input("请输入抢购时间,格式如(2023-12-26 11:20:00.000000): ")browser = webdriver.Chrome()browser.maximize_window()login()choose = int(input("到时间自动勾选购物车请输入“1”,否则输入“2”: "))buy(target_time, choose)

参考文章:https://blog.csdn.net/white_idiot/article/details/78385441
https://blog.csdn.net/weixin_45020214/article/details/123938592


http://www.ppmy.cn/news/1282766.html

相关文章

flex--伸缩性

1.flex-basis flex-basis 设置的是主轴方向的基准长度,会让宽度或高度失效。 备注:主轴横向:宽度失效;主轴纵向:高度失效 作用:浏览器根据这个属性设置的值,计算主轴上是否有多余空间&#x…

韩版传奇 2 源码分析与 Unity 重制(二)客户端启动与交互流程

专题介绍 该专题将会分析 LOMCN 基于韩版传奇 2,使用 .NET 重写的传奇源码(服务端 客户端),分析数据交互、状态管理和客户端渲染等技术,此外笔者还会分享将客户端部分移植到 Unity 和服务端用现代编程语言重写的全过…

PCL配置记录

PCL配置记录 1. Windows10vs2019pcl win10vs2019pcl 1.11.1 1.下载与安装 https://github.com/PointCloudLibrary/pcl/releases ) 双击exe安装 注意: ( ) 解压 “pcl-1.11.0-pdb-msvc2019-win64.zip”,将解压得到的文件夹中的内容添加“…\PCL…

蓝牙技术在车联网中的应用——无线控制小车系统设计

1车联网 车联网的概念引申自物联网,是物联网技术在交通系统领域中的典型应用。该网络体系能够实现智能交通管理和车辆的精准控制。本设计在此背景下,探讨并提供了一种可行的人车交互方式。 2系统整体架构 本设计以Arduino UNO为核心模块,通过…

重组蛋白表达系统的比较-卡梅德生物

一、重组蛋白表达是什么? 重组蛋白表达是通过基因工程手段将目标蛋白基因导入宿主细胞,使其表达出特定的蛋白。该过程包括以下步骤: 1. 构建表达载体:将目标蛋白基因插入表达载体中,通常选择带有启动子、终止子和选择…

Leetcode 2973. Find Number of Coins to Place in Tree Nodes

Leetcode 2973. Find Number of Coins to Place in Tree Nodes 1. 解题思路2. 代码实现 题目链接:2973. Find Number of Coins to Place in Tree Nodes 1. 解题思路 这道题思路上其实挺简单的,就是一个遍历的思路,找到每一个点对应的子树当…

ORB-SLAM3的LocalMapMerging线程详解

ORB-SLAM3的Local&MapMerging线程的代码主要集中于LocalClosing.cc的run()函数中,主要执行五个函数分别是:CheckNewKeyFrames() 函数、NewDetectCommonRegions()函数、MergeLocal()函数、MergeLocal2()函数、CorrectLoop() 函数。如果新进入的关键帧…

微积分-第四章极限-1

第四章 极限 4.1 极限的基本思想 考虑函数 f ( x ) 2 x f(x)2x f(x)2x。当 x x x趋向于2时 f ( x ) f(x) f(x)会趋向与何值?显而易见的是函数 f f f在 x 2 x2 x2处有定义。所以我们可以说当 x x x趋向于2时 f ( x ) f(x) f(x)趋向于4。 我们可以直接写出 lim ⁡…