【Python秒杀脚本】淘宝或京东等秒杀抢购

2023-11-06

我们的目标是秒杀淘宝或京东等的订单,这里面有几个关键点,首先需要登录淘宝或京东,其次你需要准备好订单,最后要在指定时间快速提交订单。

这里就要用到一个爬虫利器Selenium,Selenium是一个用于Web应用程序测试的工具,Selenium可以直接运行在浏览器中,通过后台控制操作浏览器,完成购买操作,利用它我们可以驱动浏览器执行特定的动作,抢购脚本就是通过Selenium来完成自动登录和自动购买的操作的。

一、环境

操作系统:Win10
Python版本:3.7.4
Chrome浏览器版本:100.0.4896.60
ChromeDriver版本:100.0.4896.60
ChromeDriver下载:下载地址
注意:Chrome浏览器版本和ChromeDriver版本要保持一致

在这里插入图片描述

二、安装

1、ChromeDriver安装
步骤一:将下载好的chromedriver.exe文件放置到chrome浏览器所在目录

在这里插入图片描述

步骤二:复制该目录配置到Windows系统环境变量中

在这里插入图片描述

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

在这里插入图片描述

2、Seleuinm安装
Selenium模块是Python的第三方库,可以通过pip进行安装

pip install selenium

或python中导入

在这里插入图片描述

三、淘宝秒杀脚本

from selenium import webdriver
import datetime
import time

# 连接Chrome浏览器
driver = webdriver.Chrome()

def login(url):
    # 打开淘宝登录页,并进行登录
    driver.get("https://www.taobao.com")
    time.sleep(3)
    if driver.find_element_by_link_text("亲,请登录"): # F12 点击事件name定位(注意空格)
        driver.find_element_by_link_text("亲,请登录").click()
        print("请在20秒内完成登录")
        time.sleep(20)
        driver.get(url)
    time.sleep(3)
    now = datetime.datetime.now()
    print('login success:', now.strftime('%Y-%m-%d %H:%M:%S'))


def buy(buytime):
    while True:
        now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
        # 对比时间,时间到的话就点击结算
        if now >= buytime:
            try:
                # 立即抢购
                if driver.find_element_by_id("J_LinkBuy"): # F12 点击事件id定位
                    print("速度点击!!!")
                    driver.find_element_by_id("J_LinkBuy").click()
                    time.sleep(0.09)
                    while now >= buytime:
                        try:
                            print("赶紧买!!!")
                            # 提交订单
                            if driver.find_element_by_class_name('go-btn'): # F12 点击事件class定位
                                driver.find_element_by_class_name('go-btn').click()
                        except:
                            time.sleep(0.02)
            except:
                time.sleep(0.08)
        print(now)
        time.sleep(0.05)

#  定位元素方式三种任何一个都可以使用过,实际使用自由组合。
# (1)id定位 driver.find_element_by_id("id")
# (2)name定位 driver.find_element_by_name("name") 
# (3)class定位 driver.find_element_by_class_name("class_name")


# 抢购主函数
if __name__ == "__main__":
    times = input("请输入抢购时间:时间格式:2021-12-29 19:45:00.000000")
    url = input("请输入抢购地址")
    login(url)
    buy(times)

四、京东秒杀脚本

from selenium import webdriver
import datetime
import time

def 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('======login success:', now.strftime('%Y-%m-%d %H:%M:%S'))
    time.sleep(5)

def buy(times, choose):
    # 点击购物车里全选按钮
    if choose == 2:
        print("======请手动勾选需要购买的商品")
    while True:
        now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
        # 对比时间,时间到的话就点击结算
        if now > times:
            if choose == 1:
                while True:
                    try:
                        if browser.find_element_by_id("J_SelectAll2"):
                            browser.find_element_by_id("J_SelectAll2").click()
                            break
                    except:
                        print("======找不到购买按钮")
            # 点击结算按钮
            while True:
                try:
                    if browser.find_element_by_link_text("去结算"):
                        browser.find_element_by_link_text("去结算").click()
                        print("======结算成功")
                        break
                except:
                    pass

            while 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)

#  定位元素方式三种任何一个都可以使用过,实际使用自由组合。
# (1)id定位 driver.find_element_by_id("id")
# (2)name定位 driver.find_element_by_name("name")
# (3)class定位 driver.find_element_by_class_name("class_name")


# 抢购主函数
if __name__ == "__main__":
    times = input("请输入抢购时间,格式如(2018-09-06 11:20:00.000000):")
    browser = webdriver.Chrome()
    browser.maximize_window()
    login()
    choose = int(input("到时间自动勾选购物车请输入“1”,否则输入“2”:"))
    buy(times, choose)

五、总结

本篇文章主要介绍了Python 通过selenium实现毫秒级自动抢购的示例代码,通过扫码登录即可自动完成一系列操作,抢购时间精确至毫秒,可抢加购物车等待时间结算的,也可以抢聚划算、火车票等的商品。

博主不提供任何服务器端程序,也不提供任何收费抢购软件。该文章仅作为学习selenium框架的一个示例代码。该思路可运用到其他任何网站,京东,天猫,淘宝均可使用,且不属于外挂或者软件之类,只属于一个自动化点击工具,如有侵犯到任何公司的合法权益,会第一时间将相关代码给予删除。

六、零基础小白的Python学习资源总结

如果你也喜欢编程,想通过学习Python转行、做副业或者提升工作效率,我也为大家整理了一份 【最新全套Python学习资料】 一定对你有用!

对于0基础小白入门:

如果你是零基础小白,想快速入门Python是可以考虑的!

1、学习时间相对较短,学习内容更全面更集中

2、可以找到适合自己的学习方案

这份资料包含:Python安装包+激活码、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习等教程,带你从零开始系统性的学好Python!

我已经上传至CSDN官方,如果需要可以扫描下方二维码都可以免费获取【保证100%免费】

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、Python课程视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

img

三、全套PDF电子书

书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。

四、清华编程大佬出品《漫画看学Python》

用通俗易懂的漫画,来教你学习Python,让你更容易记住,并且不会枯燥乏味。

img

五、Python实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

img

六、互联网企业面试真题

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

img

这份完整版的Python全套学习资料已经上传至CSDN官方,朋友们如果需要可以点击下方链接扫描下方二v码都可以免费获取【保证100%免费】

最新全套【Python入门到进阶资料 & 实战源码 &安装工具】

以上全套资料已经为大家打包准备好了,希望对正在学习Python的你有所帮助!

如果你觉得这篇文章有帮助,可以点个赞呀~

我会坚持每天更新Python相关干货,分享自己的学习经验帮助想学习Python的朋友们少走弯路!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Python秒杀脚本】淘宝或京东等秒杀抢购 的相关文章

  • Pandas:参差不齐的时间序列的时间加权滚动平均值

    我有一个参差不齐 意思是不规则的频率 时间索引的 DataFrame 我想对其执行时间加权滚动平均值 以维护 DataFrame 的原始索引 假设记录的值在被另一个值取代之前一直有效 实现此目的的一种方法是将参差不齐的 DataFrame
  • 赋值运算符左/右侧的不同切片行为

    作为一个来自 C 背景的 Python 新手 Python 3 4 x 中的切片运算符对我来说看起来很荒谬 我只是不明白 特殊规则 背后的设计理念 让我解释一下为什么我说它 特别 一方面 根据 Stack Overflow 的回答here
  • 在python中发送多个文件

    我是 python 新手 我正在尝试以下操作 我有两个 calsess Server py and Client py我想将服务器目录中存在的所有文件发送到客户端的某个目录 IE C ServerDir file1 txt C Server
  • 如何从 QLineEdit 动态获取文本? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 怎样才能得到String Text from QlineEdit 我尝试过像这样 myArea getList 功能是获取字符串值并使用字符
  • 窗口多维 Tensorflow 数据集

    我有形状的二维数据m by n我想要的窗口大小w沿着第一个轴进入数据集m w许多二维数组 每个数组的大小w by n 例如如果数据是 0 1 2 3 4 5 6 7 8 9 10 11 然后我想将其窗口化 0 1 2 3 4 5 6 7 8
  • Python groupby 无法按预期工作[重复]

    这个问题在这里已经有答案了 我正在尝试读取一个 Excel 电子表格 其中包含以下格式的一些列 column1 column1 AccountName column1 SomeOtherFeature column2 blabla colu
  • Python bash 管道

    我想将 python 脚本的输出通过管道传输到 bash 脚本 到目前为止我所做的是尝试使用os popen sys subprocess 并试图给出一个管道的例子 os popen echo P 1 1 591336 4927369 1
  • 给定一个正整数 n,如何打印高度为 n-1 的数字三角形?

    HackerRank 三角任务 https www hackerrank com challenges python quest 1 problem 仅使用算术运算 单个for loop 和一个单一的print陈述 不允许进行字符串操作 约
  • 在 Matplotlib 中选择标记大小

    我正在 matplotlib 中用方形标记绘制散点图 如下所示 我想实现这样的目标 这意味着我必须调整标记大小和图形大小 比例 以使标记之间没有空白 每个索引单元还应该有一个标记 x and y都是整数 所以如果y从 60 到 100 应该
  • 如何使用Python中的or-tools解决累积旅行商问题?

    累积旅行商问题 CTSP 的目标是最小化到达客户的时间总和 而不是总旅行时间 这与最小化总旅行时间不同 例如 如果一个人拥有无限的车辆 车辆与位置数量相同 并且目标是最大限度地减少到达位置的总时间 则可以为每个位置发送一辆车 因为这是满足所
  • ModuleNotFoundError:没有名为“pandas.io.formats.csvs”的模块

    我正在尝试创建一个简单的 csv dataframe to csv psv file name encoding utf 8 header True sep doublequote True quoting csv QUOTE ALL in
  • 检查空查询集

    我想确认这是否是检查空查询集的正确方法 如果这就是为什么我会遇到 UNIQUE 约束错误 syn check Synonym objects filter MD objects get filter dict synonym type St
  • 如何通过检查传递给 pytest_runtest_teardown 的 Item 对象来确定测试是否通过或失败?

    Pytest 允许您通过实现一个名为的函数来进入每个测试的拆卸阶段pytest runtest teardown在插件中 def pytest runtest teardown item nextitem pass 是否有一个属性或方法it
  • 找出段落中出现的单词

    sentence Alice was not a bit hurt and she jumped up on to her feet in a moment words Alice jumped played 我可以使用filterpyth
  • 虎鲸失踪

    使用plotly 导出静态图表时遇到小问题 Plotly 无法正确识别我已安装 orca 并且仍然存在与缺少 orca 相关的错误 我尝试更改 orca 目录 但它仍然无法正常工作 谁知道出了什么问题吗 My code import plo
  • Python Pandas 系列失败日期时间

    我认为这一定是 pandas 的失败 有一个 pandas 系列 v 18 1 和 19 如果我为该系列分配一个日期 第一次将其添加为 int 错误 第二次将其添加为 int 错误 添加为日期时间 正确 我无法理解原因 例如使用以下代码 i
  • Python代码检测OS X El Capitan中的暗模式以更改状态栏菜单图标

    我有目标 C 代码来检测暗模式以更改状态栏 NSDistributedNotificationCenter defaultCenter addObserver self selector selector darkModeChanged n
  • python散景中的反转轴

    我正在尝试反转 y 轴并在散景散点图中设置 x 和 y 的范围 我在用 BokehPlot bokeh scatter data df x range min utc max utc y range min val max val 我收到错
  • 在 jupyter 笔记本中运行 pytest 测试函数

    我正在制作有关 python 测试选项的演示 我想要演示的技术之一是 pytest 我计划使用 jupyter ipython 笔记本进行演示 理想情况下 我希望能够在单元格中定义一个测试函数 然后使用 pytest 运行该函数 这样我就可
  • Python - 使用 BeautifulSoup 从 URL 列表中抓取文本的最简单方法

    使用 BeautifulSoup 从几个网页 使用 URL 列表 中抓取文本的最简单方法是什么 有可能吗 最好的 乔治娜 import urllib2 import BeautifulSoup import re Newlines re c

随机推荐

  • C++变量替换

    测试用例 4 xxx lyf ttt test ttt www yyy seeyou aa aaa x x x b b b
  • 上下文工程:基于 Github Copilot 的实时能力分析与思考

    上个月在计划为 AutoDev 添加多语言支持时候 发现 GitHub Copilot 的插件功能是语言无关的 通过 plugin xml 分析 便想研究一下它是如何使用 TreeSitter 的 可惜的是 直到最近才有空 研究一下它是如何
  • 【转】IE命令行参数

    k参数可以让IE工作在全屏方式下 slf参数会让IE连接到默认的主页 new开新的IE进程 channelband 收藏夹 nohome 无显示 blank空白页面也不显示 remote参数可以在Unix平台上启动另一个IE进程 v参数会显
  • springBoot实现统一结果封装、统一异常处理

    springBoot统一结果封装 统一异常处理 统一结果封装 目的 由于现在大部分公司项目都是前后端分离架构 为了联调方便统一后端数据返回格式 统一结果封装 实现 统一返回结果实体类 统一结果封装 Data public class R p
  • sqlite "replace into"的用法

    http blog sina com cn s blog 590be5290102vulh html 举例说明 建表并插入几条记录 CREATE TABLE test id INTEGER PRIMARY KEY name text age
  • springboot的脚手架搭建步骤

    SpringBoot脚手架搭建及运用 Max伏虎的博客 CSDN博客 springboot脚手架
  • Window 系统生成 Git SSH key

    当我们使用github或者bitbucket等仓库时我们有可能需要ssh认证 所以需要生成他的ssh key 1 首先你要安装git工具 下载地址 https git scm com downloads 2 右键鼠标 选中 Git Bash
  • VCRUNTIME140_1.dll丢失是怎么回事,如何修复VCRUNTIME140_1.dll缺失?

    VCRUNTIME140 1 dll是什么文件 它为啥会丢失呢 应该很多小伙伴对这问题都比较疑惑吧 毕竟有时候电脑突然弹出一个VCRUNTIME140 1 dll文件丢失 无法继续执行 面对这种提示都是一脸懵逼的 今天我们就来聊聊VCRUN
  • Kafka可视化平台EFAK搭建及使用

    文章目录 1 EFAK可视化平台介绍 2 搭建EFAK可视化平台 2 1 安装JDK环境 2 2 安装MySQL数据库 2 3 下载EAK二进制安装包并部署 2 4 配置EFAK连接Zookeeper集群 2 5 调整Eagle启动文件中的
  • 线程同步及互斥锁

    线程同步的概念 线程同步 指一个线程发出某一功能调用时 在没有得到结果之前 该调用不返回 同时其它线程为保证数据一致性 不能调用该功能 线程同步的例子 创建两个线程 让两个线程共享一个全局变量int number 然后让每个线程数5000次
  • 使用 ffmpeg 转换视频格式

    ffmpeg 是 nix 系统下最流行的音视频处理库 功能强大 并且提供了丰富的终端命令 实是日常视频处理的一大利器 实例 flac 格式转 mp3 音频格式转换非常简单 ffmpeg i input flac acodec libmp3l
  • 【Prometheus】“discovery manager scrape“ discovery=file msg=“Error reading file“ path=/dir err=“\“labl

    Prometheus discovery manager scrape discovery file msg Error reading file path dir err lable name is not a valid label n
  • 爬虫之JS解析,Python模拟JS代码运行。(附带模拟人人网登录案例)

    六 JS解析 1 定位js文件 1 通过initiator定位到js文件 2 通过search搜索关键字定位到js文件 3 通过元素绑定的事件监听函数找到js文件 Event Listeners 注 三种方法不能保证每一种都能找到js文件
  • 微信小程序与低功耗蓝牙通信-往硬件端发送数据(三)

    准备工作 软件 微信小程序 硬件 蓝牙设备 hc 09 单片机 stm32 微信小程序往硬件端发送数据 对应的函数是wx writeBLECharacteristicValue 他的参数是 对应的下面的参数获取有2种获取方式 1 通过硬件的
  • WebSocket不同版本的三种握手方式以及一个Netty实现JAVA类

    一 WebSocket不同版本的三种握手方式 WebSocket是HTML5中的新特性 应用也是非常的广泛 特别是用户WEB端与后台服务器的消息通讯 如阿里的WEBWW就是使用的WebSocket与后端服务器建立长连接进行的通讯 目前Web
  • RAM IP Core

    官方文档 ZYNQ 存储资源指导手册 DS109 RAM 全称 Random Access Memory 随机存取存储器 随时将数据写入任意指定地址的存储单元 或从任意地址读出数据 读写的速度是由时钟频率决定的 RAM主要用于存放程序运行的
  • mysql 分布式 hbase_分布式数据库 HBase(详解)

    一 概述 1 从BigTable说起BigTable是一个分布式存储系统 总的来说 BigTable 具备以下特性 支持大规模海量数据 分布式并发数据处理效率极高 易于扩展且支持动态伸缩 适用于廉价设备 适合于读操作不适合写操作 2 HBa
  • val()、html()方法改变元素值后,元素change事件无效解决方案

    原因 Change事件触发有两个必要条件 值改变 失去焦点 解决方法 改变值的同时 1 手动触发change事件 input val change input val trigger change 2 手动触发blur事件 input va
  • C++11 之 auto & decltype

    文章目录 auto decltypes auto 和 decltype 的配合 返回值类型后置 关于 c 11 新特性 最先提到的肯定是类型推导 c 11 引入了 auto 和 decltype 关键字 使用他们可以在编译期就推导出变量或者
  • 【Python秒杀脚本】淘宝或京东等秒杀抢购

    文章目录 一 环境 二 安装 三 淘宝秒杀脚本 四 京东秒杀脚本 五 总结 六 零基础小白的Python学习资源总结 一 Python所有方向的学习路线 二 Python课程视频 三 全套PDF电子书 四 清华编程大佬出品 漫画看学Pyth