Python实现秒杀某宝商品抢购

人生苦短,我用Python~
某宝秒杀,用毫秒级的精准度来抢购!
你还在为各种活动秒杀 抢不过别人而烦恼吗?
今天出一期 利用Python抢购秒杀商品的文章

目录

  1. ​ 项目环境
  2. 某宝抢购流程分析
  3. 程序实现思路
  4. 代码实践与梳理

项目环境

  • ​ 操作系统:Windows 10
  • 开发环境:python3.7
  • IDE:Pycharm
  • 自动化模块:Selenium
  • 安装命令:pip install selenium
  • 浏览器版本:Google Chrome 99.0.4844.51
  • 浏览器驱动版本:ChromeDriver 99.0.4844.51

注意: ​ 浏览器驱动版本与浏览器版本要一致!

抢购流程分析

  1. ​ 登录网站
  2. 购物车选中抢购商品
  3. 结算购买
  4. 提交订单

关键:快速完成前面流程,当订单进入提交页面时,付款时间不影响抢购。

程序实现思路

​ 购物流程都是固定没有变化的,因此可以把购物流程步骤用代码编辑好交给selenium去自动执行。

​ 项目结构:驱动直接复制放入项目根路径

Python实现秒杀某宝商品抢购

1、导入对应类库实现对浏览器的操作

from selenium import webdriver
import datetime    
import time
 
#自动打开浏览器并且最大化窗口
# Python学习交流1裙 815624229 ###
# Python学习交流2裙 279199867 ###

driver = webdriver.Chrome()
driver.maximize_window()

 

执行上述代码,浏览器会自动打开并显示如下,证明我们已经开始通过代码操控浏览器了。

在这里插入图片描述

2、用代码实现购物流程
2.1 访问某宝:

driver.get('https://www.taobao.com')

 

2.2登录某宝:

Python实现秒杀某宝商品抢购

if driver.find_element_by_partial_link_text('亲,请登录'):
        driver.find_element_by_partial_link_text('亲,请登录').click()

 

2.3 进入购物车

#跳转到购物车页面
driver.get('https://cart.taobao.com/cart.htm')

 

2.4 选中所有商品

Python实现秒杀某宝商品抢购

#寻找全选选项并勾选
if driver.find_element_by_id("J_SelectAll1"):
      driver.find_element_by_id("J_SelectAll1").click()

 

2.5 对比时间,提交结算(重点)

def buy(buy_time):  #buy_time 购买时间
    while True:
        now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
        print('当前时间:%s'%now)
 
        #判断是否到达抢购时间
        if now>buy_time:
            try:
                driver.find_element_by_partial_link_text('结 算').click()
            except:
                pass
        #对比时间,循环提交订单
        while True:
                try:
                    if driver.find_element_by_link_text('提交订单'):
                        driver.find_element_by_link_text('提交订单').click()
                        print(f"抢购成功,请尽快付款")
                except:
                    print(f"再次尝试提交订单")
            time.sleep(0.01)

 

​ 这样就可以通过设定的段时间去定时定点抢购商品啦!

Python实现秒杀某宝商品抢购

print(f"再次尝试提交订单")
        time.sleep(0.01)

 

[外链图片转存中...(img-oA7Q06eg-1648366756452)]
 
​    **这样就可以通过设定的段时间去定时定点抢购商品啦!**

​ 这样就可以通过设定的段时间去定时定点抢购商品啦!

Python实现秒杀某宝商品抢购

我每天都走越来越刑的路上疯狂试探

大家给点个免费的关注吧

感谢 !!!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python实现秒杀某宝商品抢购 - Python技术站

(0)
上一篇 2023年4月2日
下一篇 2023年4月2日

相关文章

  • 快过年了,Python实现12306查票以及自动购票….

    马上就要过年了,听说还有人买不到票? 不要慌,今天咱们来用Python做一个自动查票抢票的脚本,24小时抢票,谁抢的过你!   准备工作 环境 Python 3.8 Pycharm 插件 谷歌浏览器驱动 模块 需要安装的第三方模块,直接pip安装即可。 requests # 数据请求模块 prettytable # 打印好看一些 selenium # 模拟人…

    Python开发 2023年3月31日
    00
  • 未婚妻晚安之后依然在线,于是我用20行代码写了个小工具

    最近发现未婚妻一到晚上总是很忙的样子,每晚匆匆忙忙道过晚安就不说话了。 可是,QQ头像却会偶尔亮起来,我非常担心,是不是账号被盗了呢?然后,就想帮未婚妻排查一下,于是就用python写了一个录制脚本,悄悄装在她电脑上~ 模块安装 本次咱们需要用到这两个模块 win32gui PyQt5 流程思路 1、通过win32gui模块,调用windows系统的截屏功能…

    Python开发 2023年4月2日
    00
  • Python常用命名规范,让你的代码更加优雅!

    哈喽兄弟们,今天分享一下以前总结的一些Python常用命名规范,希望对大家有所帮助。 命名规范在编写代码中起到很重要的作用,虽然不遵循命名规范,程序也可以运行,但是使用命名规范可以更加直观地了解代码所代表的含义,本文将介绍Python中常用的一些命名规范。 常用命名规范 1、模块名尽量短小,并且全部使用小写字母,可以使用下划线。例如,game_main、ga…

    Python开发 2023年4月2日
    00
  • 当我把用Python做的课堂点名系统献给各科老师后,再也没挂过科

    刚上大学的表弟问我,大学准备好好玩玩,问我有没有什么不挂科的秘诀。 哎,这可就问对人了,要想不挂科,先把老师贿赂好,当然,咱们说的贿赂不是送钱啥的,这不是侮辱老师吗? 于是我连夜给表弟写了一个课堂点名系统,让他给每个任课老师都送一遍,方便老师就是方便自己,嘿嘿~ 准备工作 首先我们需要准备好点名的姓名文件,使用的时候导入进去就可以开始点名了。 新建一个文本文…

    Python开发 2023年4月2日
    00
  • 用Python做一个中秋抢购月饼的脚本

    序言 每逢佳节倍思亲,想买个东西给家里,结果发现手速不够,网速不够快,没有时间下单等等各种原因导致最后想买的东西售罄了… 甚至跟你一起抢购的可能是脚本,太真实了! 今天就给大家分享一个python版抢购月饼的脚本,我们要用魔法打败魔法!话不多说,直接开搞! 准备工作 今天要用的是一个测试工具的库:Selenium Selenium是一个用于测试网站的自动化测…

    Python开发 2023年4月2日
    00
  • Python实战小案例:如何读取文件并统计文件中的数值

    哈喽兄弟们,今天浅浅的实战一下,如何用Python计算文件内最大数与最小数平均值~ 一、实战场景 给定一个包含整数的文件,每行数字小于 200,统计文件中的最大最小值和平均值,并将结果写入文件中。 创建一个txt文件,随机输入几行数字,保存命名为 input 即可。 二、主要知识点 文件读写 基础语法 单行注释和多行注释 三、代码实战 马上安排! 1、创建 …

    Python开发 2023年4月2日
    00
  • Python实现人脸识别

    哈喽兄弟们,今天实现一下人脸识别。 先问大家一个问题什么是百度Aip模块? 百度AI平台提供了很多的API接口供开发者快速的调用运用在项目中本文写的是使用百度AI的在线接口SDK模块(baidu-aip)进行实现人脸识别 除了人脸识别,其他api功能的调用也同理。 准备工作 本机环境 系统:win11Python版本:3.9.7编辑器:VS2022 安装ba…

    Python开发 2023年4月2日
    00
  • 利用Python快速实现一个线程池,非常简单

    雷猴啊,兄弟们!今天来展示一下如何用Python快速实现一个线程池。   一、序言 当有多个 IO 密集型的任务要被处理时,我们自然而然会想到多线程。但如果任务非常多,我们不可能每一个任务都启动一个线程去处理,这个时候最好的办法就是实现一个线程池,至于池子里面的线程数量可以根据业务场景进行设置。 比如我们实现一个有 10 个线程的线程池,这样可以并发地处理 …

    Python开发 2023年4月2日
    00
合作推广
合作推广
分享本页
返回顶部