年年双十一,年年抢不到,自制Python淘宝秒杀抢购脚本,百分百中[通俗易懂]

年年双十一,年年抢不到,自制Python淘宝秒杀抢购脚本,百分百中[通俗易懂]大家好,我是不学前端的前端程序员,事情是这个样子的,前几天不是双十一预购秒杀嘛由于我女朋友比较笨,手速比较慢,就一直抢不到,她没抢到特价商品就不开心,她不开心,我也就不能跟着开心,就别提看6号的全球总决赛了为了解决这个问题,就决定写一个自动定时抢购的脚本。第一步:首先我的思路很简单,就是让“程序”帮我们自动打开浏览器,进入淘宝,然后到购物车等待抢购时间,自动购买并支付。第二步:导入模块,我们需要一个时间模块,抢购的时间,还有一个Python的自动化操作。代码如下:importd

大家好,又见面了,我是你们的朋友全栈君。

大家好,我是不学前端的前端程序员,
在这里插入图片描述

事情是这个样子的,前几天不是双十一预购秒杀嘛
在这里插入图片描述

由于我女朋友比较笨,手速比较慢,就一直抢不到,她没抢到特价商品就不开心,

她不开心,我也就不能跟着开心,就别提看6号的全球总决赛了
在这里插入图片描述

为了解决这个问题,就决定写一个自动定时抢购的脚本。

第一步:

首先我的思路很简单,就是让“程序”帮我们自动打开浏览器,进入淘宝,然后到购物车等待抢购时间,自动购买并支付。
在这里插入图片描述

第二步:

导入模块,我们需要一个时间模块,抢购的时间,还有一个Python的自动化操作。

代码如下:

import datetime #模块
now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
import time
#全自动化Python代码操作
from selenium import webdriver

第三步:

根据我们的思路,首先需要程序帮我们打开谷歌浏览器,并输入“www.taobao.com”,然后点击登录,进入到购物车。

代码如下

times = "2021-11-04 21:00:00.00000000"
browser = webdriver.Chrome()
browser.get("https://www.taobao.com")
time.sleep(3)                               #点击
browser.find_element_by_link_text("亲,请登录").click()

不过这里有一个问题就是,我们不能把我们的账户、密码写在代码里边,这样很容易泄露,所以这里采取手动扫码登录

print(f"请尽快扫码登录")
time.sleep(10)
browser.get("https://cart.taobao.com/cart.htm")
time.sleep(3)

第四步:

进入购物车,等待抢购时间然后购买。

首先这个程序不能帮我们去挑选商品,所以我们得提前把商品加入到购物车里面。

等到了抢购时间,直接全选商品购买就可以了。

# 是否全选购物车
while True:
    try:
        if browser.find_element_by_id("J_SelectAll1"):
            browser.find_element_by_id("J_SelectAll1").click()
            break
    except:
        print(f"找不到购买按钮")


while True:
    #获取电脑现在的时间, year month day
    now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
    # 对比时间,时间到的话就点击结算
    print(now)
    #判断是不是到了秒杀时间?
    if now > times:
        # 点击结算按钮
        while True:
            try:
                if browser.find_element_by_link_text("结 算"):
                    print("here")
                    browser.find_element_by_link_text("结 算").click()
                    print(f"主人,程序锁定商品,结算成功")
                    break
            except:
                pass
        # 点击提交订单按钮
        while True:
            try:
                if browser.find_element_by_link_text('提交订单'):
                    browser.find_element_by_link_text('提交订单').click()
                    print(f"抢购成功,请尽快付款")
            except:
                print(f"主人,我已帮你抢到商品啦,您来支付吧")
                break
        time.sleep(0.01)

完结

希望各位小姐姐都能买到自己想要的礼物,给你们的男朋友放个假哦!

EDG加油,

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/130985.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Apk 签名验证

    Apk 签名验证当app进行反编译后修改,再回编译,若出现闪退的情况时,则有可能是由于程序本身已存在签名验证,才会出现闪退,今天分享如何解决因签名验证而出现的闪退现象。v:13140310004q:32519015161阅读签名验证源码1.打开文件2.分析Java层,在调用init这个方法里面,是进行按钮以及其他控件的初始化3.接下来是一个注册函数,判断用户名和密码是否相等,从而弹出不同的提示4.LoginActivity类继承了BaseActivity,先分析BaseActivity这个类5.分析onC

    2022年6月7日
    84
  • CUDA学习第二天: GPU核心与SM核心组件[通俗易懂]

    1.CUDA的内存模型每个线程有自己的私有本地内存(localmemory),每个线快有包含共享内存,可以被线程块中所有线程共享,其声明周期与线程块一致。此外,所有的线程都可以访问全局内存(globalmemory)还可以访问一些只读内存块:常量内存(ConstantMemory)和纹理内存(TextureMemory).2.GPU的核心组件–SM(Streamin…

    2022年4月6日
    407
  • springboot afterproperties(管理方法)

    在看用redis实现异步消息队列时,遇到了注册Event,其中看到了afterPropertiesSet。然后查博客,记录下。一、简单介绍1、init-method方法,初始化bean的时候执行,可以针对某个具体的bean进行配置。init-method需要在applicationContext.xml配置文档中bean的定义里头写明。例如:这样,当TestBean在初

    2022年4月18日
    51
  • platform device 与 platform driver

    platform device 与 platform driver做Linux方面也有三个多月了,对代码中的有些结构一直不是很明白,比如platform_device与platform_driver一直分不清关系。在网上搜了下,做个总结。两者的工作顺序是先定义platform_device->注册platform_device->,再定义

    2022年7月24日
    9
  • MODIS数据说明

    MODIS数据说明MODIS目前主要存在于两颗卫星上:TERRA和AQUA。TERRA卫星每日地方时上午10:30时过境,因此也把它称作地球观测第一颗上午星(EOS-AM1)。AQUA每日地方时下午过境,因此称作地球观测第一颗下午星(EOS-PM1)。两颗星相互配合,每1-2天可重复观测整个地球表面,得到36个波段(表1)的观测得到,这些数据广泛用于全球陆地、海洋和低层大气内的动态变化过程研究。MODIS获

    2022年5月7日
    89
  • es6数组和对象常用方法

    es6数组和对象常用方法数组forEach()方法对数组的每个元素执行一次给定的函数。vararr=[1,2,3]arr.forEach((value,index)=>{console.log(‘数组值:’+value);console.log(‘数组索引:’+index);})map()方法创建一个新数组,其结果是该数组中的每个元素都调用一次提供的函数后的返回值。vararr=[1,2,3]vararr1=arr.map((value,in

    2022年5月26日
    46

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号