用py写了个针对淘宝的抢购程序(清空购物车)

Python完成淘宝抢单(非购物车) Python完成淘宝抢单(非购物车) 购买分两步:第一步,点击立即购买;第二步,点击提交订单。 1.前期准备 操作系统:Windows Python版本:3.7 谷歌浏览器 2.安装库 2.1Selenium的安装 打开cmd,输入 pip install selenium 2.2ChromeDriver的安装 先确认使用的Chrome浏览器版本,在谷歌浏览器设置中可以找到,选择对应的版本进行下载,ChromeDriver的官方下载地址: https://chromedriver.storage.goog 阅读详情

使用

  • 适合学python的练手
  • 部分代码参考于他人,优化了部分逻辑
  • 手动扫码,把需要的商品提前放入购物车

缺点

  • 取决于网速,提交订单的时候有可能提示拥挤,抢个药应该没问题,抢茅台做梦
  • 结算到提交订单之间的耗时处理的不好,抱砖引玉
import datetime
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait

启动插件时间 = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S.%f")
print("启动插件时间::" + 启动插件时间)
抢购时间 = "2022-12-19 16:00:00.000000"

from selenium import webdriver
import time

driver = webdriver.Chrome()
timeout = 20  # 等待上限,单位是秒,每个网页加载的上限时间
poll_frequency = 0.8  # 检测的轮询间隔,默认值是0.5秒
#
# driver.implicitly_wait(10)
driver.get("https://www.taobao.com")
# time.sleep(2)
##请登录,他妈的要手动
label1 = WebDriverWait(driver, timeout, poll_frequency).until(EC.visibility_of_element_located((By.LINK_TEXT, '亲,请登录')))
print("亲,请登录加载完成")
driver.find_element(By.LINK_TEXT, "亲,请登录").click()
##点击二维码登录
# time.sleep(2)
label2 = WebDriverWait(driver, timeout, poll_frequency).until(
    EC.visibility_of_element_located((By.CLASS_NAME, 'icon-qrcode')))
print("手动扫码加载完成")

driver.find_element(By.CLASS_NAME, "icon-qrcode").click()
##手动扫码这个就很操蛋,要在十秒内完成扫描啊
time.sleep(10)
# driver.implicitly_wait(10)
##去打开购物车
driver.get("https://cart.taobao.com/cart.htm")
label3 = WebDriverWait(driver, timeout, poll_frequency).until(EC.visibility_of_element_located((By.ID, 'J_SelectAll1')))
label4 = WebDriverWait(driver, timeout, poll_frequency).until(
    EC.visibility_of_element_located((By.CLASS_NAME, 'submit-btn')))
##此时说明购物车加载出来了
# time.sleep(1)
# 下面去全选购物车
COOMMEN_CONNECT_NUM = 10000000000
count3 = 1
# driver.implicitly_wait(3)
# label3=WebDriverWait(driver, timeout).until(EC.visibility_of_element_located((By.ID, 'J_SelectAll1')))
# print("全选按钮加载完成")
while True:
    try:
        if driver.find_element(By.ID, "J_SelectAll1"):
            driver.find_element(By.ID, "J_SelectAll1").click()  # 全选
            print("找到了全选按钮")
            break
    except:
        count3 = count3 + 1
        driver.refresh()
        if count3 >= COOMMEN_CONNECT_NUM:
            print("抢购失败:失败原因:没找到了全选按钮")
            break
# 此时默认已经选中了全选按钮
time.sleep(1)
# 结算按钮
count2 = 1


# 转毫秒
def timeToLong(valid_time):
    dd = datetime.datetime.strptime(valid_time, '%Y-%m-%d %H:%M:%S.%f')
    ts = int(time.mktime(dd.timetuple()) * 1000.0 + (dd.microsecond / 1000.0))
    return ts


#
# def str_data_to_num(str_data):
#     # 格式时间成毫秒
#     strptime = time.strptime(str_data,"%Y-%m-%d %H:%M:%S.%f")
#     #print("strptime",strptime)
#     mktime = int(time.mktime(strptime)*1000000)
#     #print("mktime",mktime)
#     return mktime

while True:
    ##<a href="javascript:void(0)" id="J_Go" class="submit-btn submit-btn-disabled"
    # aria-label="请注意如果没有选择宝贝,
    # 将无法结算" data-spm-anchor-id="a1z0d.6639537/tb.0.0"><span>结&nbsp;算</span><b></b></a>
    # <a role="button" title="提交订单" class="go-btn"
    # style="background-color: rgb(255, 80, 0);">提交订单</a>
    当前时间 = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S.%f")
    t = timeToLong(抢购时间) - timeToLong(当前时间)
    print("抢购倒计时%s" % (t))

    # 网速不好是不是可以调节这个值来减少提交订单的时间误差?
    if (t < 2505):  # 这里给一秒缓冲提交订单页面的加载时间
        while True:
            ##去查找结算按钮
            try:
                if driver.find_element(By.CLASS_NAME, "submit-btn"):
                    print("找到了结算按钮")
                    driver.find_element(By.CLASS_NAME, "submit-btn").click()
                    break
            except:
                count2 = count2 + 1
                driver.refresh()  # 这里的刷新不知道会不会影响重复查找
                if (count2 >= COOMMEN_CONNECT_NUM):
                    print("抢购失败:失败原因:没找到了结算按钮")
                    break

        break
    ##提交订单的逻辑判断
# <a role="button" title="提交订单" class="go-btn"
# style="background-color: rgb(255, 80, 0);">提交订单</a>
# tag = True
# time.sleep(1)
count = 1
# 此时说明提交订单按钮加载出来了

try:
    label5 = WebDriverWait(driver, timeout, poll_frequency).until(
        EC.visibility_of_element_located((By.CLASS_NAME, 'go-btn')))
except:
    print("提交订单的页面加载不出来抢购失败")
    driver.refresh()  # 刷新
    time.sleep(1)
    # 点击人太多了导致此时页面都加载不出来怎么办

while True:
    # if tag == True:
    #     当前时间 = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S.%f")
    #     print("当前时间" + 当前时间)
    #     if 当前时间 > qgTime:
    #         while True:
    ##去查找结算按钮
    提交订单时间 = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S.%f")
    wucha = timeToLong(抢购时间) - timeToLong(提交订单时间)
    try:
        print("==========")
        if driver.find_element(By.CLASS_NAME, "go-btn"):
            if wucha < 1000:
                print("找到了提交订单的按钮")
                driver.find_element(By.CLASS_NAME, "go-btn").click()
                thdingdanshijian = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S.%f")
                print("提交订单时间%s" % thdingdanshijian)
                print("抢购误差%s" % (timeToLong(thdingdanshijian) - timeToLong(抢购时间)))
                print("抢购成功")
                # tag = False
                # 去掉break是因为怕在误差内,提交按钮点不动,让它重复点
                break

    except:
        # count = 1;
        # while True:
        #     try:
        #         if driver.find_element(By.CLASS_NAME, "go-btn"):
        #             print("老子找到了提交订单的按钮")
        #             driver.find_element(By.CLASS_NAME, "go-btn").click()
        #             print("提交订单时间" + 当前时间)
        #             print("抢购成功")
        #             break
        #     except:
        count = count + 1
        if count >= COOMMEN_CONNECT_NUM:
            # 如果连续十次没找到,老子就认为失败
            print("抢购失败:没找到了提交订单按钮")
            break

time.sleep(1000)


【超详细Python秒杀代码】京东淘宝抢购通用 超简单+直观+好用的Python抢购脚本!!!(附代码+教程) 阅读详情

相关推荐

用python做一个抢购程序

在 Python 中实现一个抢购程序需要以下几个步骤: 首先,你需要找到你要抢购的网站的 URL,并找到它的抢购入口。 其次,你需要使用爬虫工具,比如 BeautifulSoup,来抓取网站上的数据。 然后,你需要对抢购的商品进行解析,找到它的抢购时间和抢购链接。 接着,你可以使用 Python 的 time 模块来实现定时任务,在抢购时间到达时自动打开抢购链接。 最后,你可以使用 Py...

weixin_35748962的博客 2518

python自动化之淘宝自动清空购物车

1.因为代码中并没有编写检测购物车中是否存在东西,所以需要自己将商品添加进购物车。4.时间格式一定要输入正确: 时:分:秒.000000。练习python中的selenium库的使用方法。3.等待时间是强制等待,所以程序需要提前运行,2. 在使用前要将购物车中无关的商品删除。

caribbean666的博客 963

Python爬虫:自动清空淘宝购物车

其中selenium是Python自动化测试工具,能够自动加载网页并进行操作,而ChromeDriver则是Chrome浏览器的驱动程序,能够与selenium无缝协作。以上代码中,我们先利用selenium和ChromeDriver加载淘宝登录页面,并手动完成了登录操作。在实际购物过程中,往往会不知不觉地把不必要的商品添加到购物车里面,导致购物车里面的商品量越来越多。如果想清空购物车,一个个手动删除显然是非常耗时费力的,这时候我们可以使用Python编写一个脚本来自动化完成这个任务。

code_welike的博客 235

秒杀脚本丨Python淘宝或京东等秒杀抢购脚本实现

我们的目标是秒杀淘宝或京东等的订单,这里面有几个关键点,首先需要登录淘宝或京东,其次你需要准备好订单,最后要在指定时间快速提交订单。这里就要用到一个爬虫利器Selenium,Selenium是一个用于Web应用程序测试的工具,Selenium可以直接运行在浏览器中,通过后台控制操作浏览器,完成购买操作,利用它我们可以驱动浏览器执行特定的动作,抢购脚本就是通过Selenium来完成自动登录和自动购买的操作的。

m0_59162248的博客 7159

uniapp 实现RFID识别的实战指南

本文提供了在uniapp中实现RFID识别的完整实战指南。核心在于通过Android系统广播机制,利用uni-app的plus对象调用原生接口,完成与RFID手持设备的“软硬件握手”。文章详细介绍了从环境准备、设备选型、核心代码实现到避坑优化的全流程,帮助开发者快速构建高效的RFID盘点或管理应用。

weixin_29161719的博客 403

【机械臂算法】基于最小惯性参数集的动力学辨识仿真实践

本文深入探讨了机械臂动力学参数辨识的核心挑战与解决方案,重点阐述了基于最小惯性参数集的理论与方法。通过分析PUMA560实例,详细介绍了利用QR分解法或符号推导法获取可辨识参数集,并系统讲解了从激励轨迹设计、仿真数据采集、线性系统求解到模型验证的完整实践流程,为高精度动力学建模与控制奠定了坚实基础。

weixin_29054399的博客 376

【python初学者日记】selenium初体验——“秒杀商品”、“清空购物车”技能养成记(一)

利用selenium实现清空购物车,秒抢目标产品的两个项目

米芽在学习的博客 2783

一文帮你彻底搞懂ARM Debug Interface之SWD(转)

ARM的文档写的已经很好了,但是关于上电以后的第一时间应该怎么操作,依然写的不够清晰,导致我第一次用的时候还是费了一些周折。今天做一个详细的梳理,希望能够帮助到更多的朋友。BTW, ARM_Cortex-M0/3 DesignStart系列会持续更新,只是中间可能会穿插其他知识点。SWD是Serial Wire Debug的简称,翻译成中文是”串行线调试”。

2302_79847220的博客 6861

如何秒下单?python的淘宝秒杀抢购下单源码参考

如何秒下单?python的淘宝秒杀抢购下单源码参考 疫情如期,隔离还在继续,何时工作是一个头大的问题,最近在看口罩,不少电商平台都有放出口罩,当然,手残党将会也会是一直难以下手,你可能很难抢得到,故找了几个关于python的淘宝秒杀抢购下单源码参考,当然本渣渣测试下单成功,但是准点抢购还是没有成功。 你是否有更好的方法或者方案? 关于淘宝下单的思路,鉴于淘宝的厉害,相信基本上都是采用的无头浏览器...

二爷记 1万+

手把手教你用THS4551搭建全差分放大器电路(附ADC驱动实战)

本文详细介绍了如何使用TI的THS4551全差分放大器搭建高性能ADC驱动电路,涵盖芯片选型、电路配置、PCB布局及实战调试等关键环节。THS4551凭借其优异的共模抑制比和宽电源电压范围,成为驱动16位及以上精度ADC的理想选择,特别适合工业应用场景。

weixin_30338481的博客 280

【Claude】Claude Code 子代理(Subagents)完全指南:多 AI 编排与并行任务管理

子代理是在独立上下文窗口特性主代理子代理上下文窗口与你对话的主上下文完全独立的上下文工具权限拥有所有工具可自定义限制生命周期整个会话完成任务后结束通信方式直接对话结果返回给主代理模型继承主会话设置可指定不同模型你可以创建专属子代理,指定模型、工具权限和系统提示。在对话中,Claude 会根据任务自动选择合适的子代理。

博客 5535

万物皆可秒——淘宝秒杀Python脚本,扫货618,备战双11!

总是抢不到想要的宝贝?试试Python脚本对于淘宝、天猫,相信大家已经无比的熟悉,在每年的双十一、双十二,或是其他购物节,平台都会上架性价比超高的一些商品,商品的性价比越高,自然吸引购买者的眼光也越多。不知道你是否有这样的经历,半夜卡着点等待心仪商品放出,狂点手机,却一秒库存不足。这是因为,背后有许许多多的抢购机器人,在与你竞争,在程序面前,眼睛看到+手工点击的速度,无疑是慢了。

m0_59162248的博客 7719

逆向工具:一文讲述 Ghidra 的详细使用

Ghidra是由NSA开源的一款功能强大的逆向工程框架,支持多平台、多架构和多种文件格式分析。本文详细介绍了Ghidra的核心优势、安装配置方法、主界面功能模块,并通过一个CrackMe示例演示了完整的逆向分析流程。文章还讲解了高级功能如交叉引用、控制流图分析、数据类型重建和脚本自动化等,最后提供了常见文件格式的分析技巧。作为IDA Pro的免费替代方案,Ghidra适合个人学习、教学和中小项目使用。(149字)

数据知道的博客 4341

用Python制作一个自动抢票脚本

学好 Python 不论是就业数据分析还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

xiangxueerfei的博客 1万+

Android功耗系列专题理论之十一:高通QCOM平台待机功耗问题分析方法

本文详细介绍了高通QCOM平台待机功耗问题的分析方法。首先强调测试环境标准化的重要性,包括关闭无线功能、日志记录和非必要传感器。重点分析了硬件连接检查、驱动配置验证、电源管理策略优化等关键步骤。文章详细讲解了射频校准、时钟源/中断分析、子系统状态检查等专业技术方法,并提供了具体的命令行操作示例。此外还介绍了外设拆解、外灌电压测试等硬件排查手段,以及功耗分解板、波形分析等高级诊断技术。最后强调了固件版本验证和环境因素测试的必要性,为工程师提供了系统性的功耗问题排查思路。

770

在blender中安装vtk插件

Blender 是一个开源的、功能强大的3D计算机图形软件,广泛用于创建动画片、视觉效果、艺术作品、3D打印模型、互动3D应用程序和视频游戏。Blender 是由 Blender 基金会开发和维护的,具有丰富的功能和灵活的扩展性。在github上下载zip插件。

如果想成为中心,那么就到中心去吧。 293

用Python制作抢购脚本,自动抢购飞天茅台,再也不要担心手慢无了

用Python制作抢购脚本,自动抢购飞天茅台,再也不要担心手慢无了

大模型教程的博客 2万+

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Python实现秒杀某宝商品抢购(附超详细代码)

双11过去了,前两天我干了一件惊天动地的大事,估计这件大事是很多小伙伴都想干的。

xxue345678的博客 5901

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

写一个抢购商品的程序

这是一个示例抢购商品的程序: # 定义商品信息,包括名称、数量和价格 product_name = '手机' product_quantity = 10 product_price = 1999 # 定义购买数量 buy_quantity = int(input('请输入购买数量:')) # 判断库存是否充足 if buy_quantity > product_quantity: ...

weixin_35754962的博客 192

python小程序抢购脚本怎么写,python小程序代码游戏

大家好,给大家分享一下python小程序抢购脚本怎么写,很多人还不知道这一点。下面详细解释一下。现在让我们来看看!

wangyanqin0227的博客 467

2024年Python最全2024-09-06-python-exception(1),面试学到了什么

我们可以自己定义一个异常,这样针对自定义的错误抛出异常。还可以自定义一个异常类:“”"针对输入异常的自定义异常类① 2000多本Python电子书(主流和经典的书籍应该都有了)② Python标准库资料(最全中文版)③ 项目源码(四五十个有趣且经典的练手项目及源码)④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)⑤ Python学习路线图(告别不入流的学习)

2401_84140080的博客 190

手把手教你编写Python抢购脚本

① Python所有方向的学习路线图,清楚各个方向要学什么东西② 600多节Python课程视频,涵盖必备基础、爬虫和数据分析③ 100多个Python实战案例,含50个超大型项目详解,学习不再是只会理论④ 20款主流手游迫解 爬虫手游逆行迫解教程包⑤ 爬虫与反爬虫攻防教程包,含15个大型网站迫解⑥ 爬虫APP逆向实战教程包,含45项绝密技术详解⑦ 超300本Python电子好书,从入门到高阶应有尽有⑧ 华为出品独家Python漫画教程,手机也能学习。

xiangxueerfei的博客 5214

2024年Python最全全国计算机等级考试二级Python考试大纲

这是我花了几天的时间去把Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。1. 程序的基本语法元素:程序的格式框架、缩进、注释、变量、命名、保留字、数据类型、赋值 语句、引用。

2401_84692141的博客 4039

微信小程序抢购python脚本,python如何做抢东西软件

很多人还不知道微信小程序抢购python脚本,现在让我们一起来看看吧!本人没有精力有限,所以弄了一个抢购软件!下面是安装Python, 配置开发环境抢购的教程,用软件的不用看!下面是安装Python, 配置开发环境抢购的教程,用软件的不用看!下面是安装Python, 配置开发环境抢购的教程,用软件的不用看!因为问的人太多了,一方面,有时候没空回复,回复不及时,导致错过抢购..获取这两个参数的方法在第 4 步!本教程完成针对小白,大佬请绕道!本教程完成针对小白,大佬请绕道!本教程完成针对小白,大佬请绕道!

chatgpt001的博客 1万+

零基础用易语言编写抢购程序进行功能、性能和稳定性测试

易语言是一种面向中文用户的计算机编程语言,它注重简单易学、功能丰富、适合初学者的特点。易语言采用中文关键字和表达方式,使得初学者更容易理解和掌握编程知识。易语言支持常见的编程结构,包括顺序结构、选择结构、循环结构等,同时具备丰富的内置函数和库,方便进行图形界面设计、文件操作、网络通信、数据库访问等各种应用开发。易语言还支持多线程和定时器等特性,适合编写需要并发处理的程序。由于易语言使用中文关键字,因此在编写代码时更贴近中文表达习惯,降低了语言障碍,有利于初学者快速入门。

qq_60842140的博客 4754
上一篇: Android 关于h5与java交互所遇到的问题
泡温泉的咸鱼
博客等级 码龄11年 39粉丝 48原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值