美文网首页程序员
python-淘宝秒杀脚本

python-淘宝秒杀脚本

作者: 幽泉流霜 | 来源:发表于2018-11-27 11:43 被阅读0次

python版本 3.7

用到库

selenium ---用于模拟浏览器操作

datetime、time ---用于对比时间

目标:实现输入时间 商品地址 最后定时完成加入购物车、提交订单,瞬间进入结算页面。

首先我们导入库

from seleniumimport webdriver

import datetime

import time

然后创建一个浏览器对象

这里我们用谷歌

driver = webdriver.Chrome()

整体代码上我们可以分为两个函数

1.登录函数

2.购买函数

先通过 get函数进入淘宝页面


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

为了防止出现滑块验证 模拟人的操作 我们可以暂停两秒


time.sleep(2)

找到


Snipaste_2018-11-27_10-42-00.png

然后我们需要点击左上角的 亲,请登录

通过 driver.find_element_by_link_text(“”)找到这个区域

注意的是 element后面没有s 这里卡了我好久...

之后变回进入扫码页面 我们通过手机扫码完成登录

以下是登录函数的代码

def login():
    driver.get('http://www.taobao.com')
    time.sleep(2)
    if driver.find_element_by_link_text("亲,请登录"):
        driver.find_element_by_link_text("亲,请登录").click()

    print("请在30秒内完成登录")
    time.sleep(10)
  1. 购买函数

在这里我们需要输入一个抢购网址和抢购时间

为了方便输入抢购时间 我们可以输出一个现在的时间


now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')

print(now)

并且输入时间的时候一定要注意格式

不然python可能无法正确识别

输入抢购网址的时候需要在后面按一个空格

在pycharm编辑器中 直接回车会进入网址。

然后我们就会进入到抢购商品的页面。

然后我们通过一个死循环不断比较当前时间和输入时间

一旦当前时间 > 输入时间 就点击购买页面

Snipaste_2018-11-27_10-42-00.png

同样 通过老办法获取 立即购买的 位置

然后模拟点击

 while True:
        now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
        if now > buytime:
            driver.find_element_by_link_text("立即购买").click()
            break;
        time.sleep(0.1)

完成这个循环后 我们会进入到提交订单的页面

因为 只有当网页加载完成后才能点击

所以下面我们依然使用一个循环

并且在循环中使用try 防止报错

 while True:
        try:
            if driver.find_element_by_link_text("提交订单"):
                driver.find_element_by_link_text("提交订单").click()
        except:
            time.sleep(1)

就是调用两个函数就好啦


if __name__ == "__main__":
    login()
    buy()

相关文章

网友评论

    本文标题:python-淘宝秒杀脚本

    本文链接:https://www.haomeiwen.com/subject/akcgqqtx.html