【1024】python助你抢单双十一

今天是10·24程序员节,首先祝自己节日快乐
双十一马上就要到了,今天带大家 定点 剁手!!!

开始前的准备:python、PyCharm、一部手机

我们的计划:

配置

首先我们需要用到selenium
打开CMD 输入

pip install -i https://pypi.douban.com/simple/ selenium	# 使用国内镜像下载更快

接着我们还需要下载Chrome浏览器驱动
根据我们的Chrome浏览器版本去下载对应的driver(驱动)

Google Chrome Driver

浏览器版本可以通过
【帮助】- 【关于Google Chrome】获取
这里笔者的版本是

  • 版本 76.0.3809.132(正式版本) (64 位)
    所以选择下图版本
    选择
    选择对应自己操作系统的版本 下载
    解压,将其放置在Python安装路径下Scripts文件夹中即可。

好了
接着打开我们的PyCharm(关注我的公众号 回复 【激活码】 获取激活)
测试一下我们的chromedriver能否正常使用

from selenium import webdriver

browser = webdriver.Chrome()

如果能弹出一个空白的Chrome窗口 那么恭喜你 基本配置都完成了

模拟登录淘宝

我们通过selenium模拟打开淘宝

browser.get("https://www.taobao.com")

tbdl
接着需要模拟点击【登录】

browser.find_element_by_link_text("亲,请登录").click()

页面会跳到 登录 页面,此时掏出手机扫个码登录(也可以用自动输入账号密码来登录,但是如果有验证码 将会非常复杂)

打开购物车与结算

登陆后,进入到 购物车 界面

browser.get("https://cart.taobao.com/cart.htm") # 进入购物车页面

购物车全选
找到全选按钮(虽然不可能 全选!!!)
通过id获取元素 并执行点击操作

browser.find_element_by_id("J_SelectAll1").click()

掐秒提交订单

结算后 自然就到了 提交订单页面,这里需要提前将默认地址、收货人设置好,省的麻烦。
提交订单

browser.find_element_by_link_text('提交订单').click()

当然 我们还要做一个时间的控制,当系统时间>=抢购时间时 ,执行提交订单操作。

now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f') # 当前时间
if now >= qg_time: # 为自己设置的抢单时间
  	browser.find_element_by_link_text('提交订单').click()

付钱

付钱就不用心急了啦

大体的思路就是这样

源码

可以通过 传送门 去查看

这里放上部分代码

if __name__ == '__main__':
    print("剁手啦! 请连接至快速网络环境下")
    qg_time = '2019-11-11 00:00:00.0'   # 默认抢购时间 双十一当日0点
        jg_time = 1                         # 抢单间隔刷新时间 默认1秒
        while True:
        qg_time = input("请输入抢购时间(格式为yyyy-mm-dd hh:mm:ss): ")
        jq_time = input("请输入抢购间隔时间(默认为1秒): ")
        if len(qg_time) < 19:
            print("请输入抢购时间,注意格式例如2019-11-11 00:00:00")
        else:
            break
    # 打开Chrome浏览器
        browser = webdriver.Chrome()
    open_login(browser, qg_time, jg_time)

def open_login(browser, qg_time, jg_time):
    browser.get("https://www.taobao.com")
    time.sleep(3)   # 给3s的时间渲染页面
        browser.find_element_by_link_text("亲,请登录").click()
    time.sleep(15)  # 用于手机扫码
        browser.get("https://cart.taobao.com/cart.htm")  # 进入购物车页面
        time.sleep(3)
    try:
        browser.find_element_by_id("J_SelectAll1").click()  # 点击全选
        except Exception as e:
        print(e)
        print('选择异常,请重试')
        pass
    time.sleep(15)  # 给时间选择想要抢购的物品
        try:
        browser.find_element_by_id("J_Go").click()  # 点击结算
        quick_flight(qg_time, browser, jg_time)
    except Exception as e:
        print(e)

def quick_flight(qg_time, browser, jq_time):
    count = 0        # 计数器
    while True:
       now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
        if now >= qg_time:      # 抢购开始!
       count += 1          # 计数器+1
              try:
            browser.find_element_by_link_text('提交订单').click()
            print("抢购成功,进入支付界面")
            break
       except:
            print("正在第"+str(count)+"次重试")
time.sleep(jq_time)  # 间隔(可以由自己设置)

大家可以关注公众号 获取更多资讯
再喝最后一杯珍珠奶茶
公众号

  • 3
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值