Python 某宝秒杀抢购

使用技术:Python+selenium

使用的包:selenium, time, datetime。其中selenium是第三方库需要安装,而且selenium使用需要下载一个浏览器驱动,并将驱动地址设置环境变量。selenium配置请自行搜索设置。

from selenium import webdriver
from selenium.webdriver.common.by import By
import time
import datetime


def login(browser):
    # 淘宝登录进入购物车
    browser.get('https://www.taobao.com/')
    time.sleep(2)
    browser.maximize_window()
    if browser.find_element(By.LINK_TEXT, '亲,请登录'):
        browser.find_element(By.LINK_TEXT, '亲,请登录').click()
        print("请在60秒内完成登录!")
        time.sleep(60)

    now = datetime.datetime.now()
    print("login success: ", now.strftime("%Y-%m-%d %H:%M:%S"))


def buy(browser, buy_time):
    # 进入购物车
    browser.get('https://cart.taobao.com/cart.htm')
    time.sleep(3)
    # 点击全选
    while True:
        try:
            browser.find_element(By.XPATH, '//div[@class="cart-checkbox"]').click()
            print('已经全选')
            break
        except:
            print("找不到全选按钮")
    while True:
        cur_time = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
        print(cur_time)
        # 时间到了就点击结算
        if cur_time > buy_time:
            # 疯狂点击结算
            while True:
                try:
                    browser.find_element(By.XPATH, '//a[@id="J_Go"]').click()
                    print("已经点击结算")
                    break
                except:
                    print("wait...")
                time.sleep(0.01)
            # 疯狂点击提交订单
            while True:
                try:
                    browser.find_element(By.XPATH, "//a[@role='button' and @title='提交订单']").click()
                    print("请尽快结算")
                    break
                except:
                    print("try again..")
                time.sleep(0.01)


if __name__ == '__main__':
    browser = webdriver.Chrome()
    login(browser)
    # 设置抢购时间
    kill_time = '2022-07-06 21:41:00'
    buy(browser, kill_time)
    browser.quit()

登录操作这里设置的是60秒,可以根据自己实际情况自定义。

点击结算按钮,点击提交按钮时间间隔是0.01秒,这也可以自行修改

首先将需要购买的商品加入购物车,购物车中只添加需要购买的商品,因为后面有个全选操作

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值