用Python制作淘宝自动抢购脚本(超详细)

前言

在京东 淘宝中有很多特价商品,但是有些商品属于限量购买,需要抢拍。有很多黄牛通过非法脚本获取大量限购商品订单来获取利益。

那么像这种抢拍软件是如何做到的呢?

今天老师就带领大家使用selenium 自动测试框架来完成自动控制浏览器下单的操作,总共分为9个步骤~

环境

  • python3
  • selenium
  • 火狐浏览器/谷歌浏览器

    1. 导入相关工具包

    # 浏览器驱动
    from selenium import webdriver
    # 时间戳
    import datetime
    # 时间包 控制程序的休眠指令
    import time
    

    为什么一定要用到浏览器驱动呢?

    因为Python语言是无法直接对浏览器下达指令的,所以需要一个翻译(驱动)对Python下达的指令进行转发

    2. 通过函数去完成相关的功能

    def login():
        # 打开淘宝登录页,并进行扫码登录
        browser.get("https://www.taobao.com")
        # 等待页面加载
        time.sleep(1)
    if __name__ == "__main__":
        browser = webdriver.Firefox(executable_path='./geckodriver.exe')
    

    这样就可以自动打开浏览器

    3. 用xpath语法定位按钮

    if browser.find_element_by_link_text("亲,请登录"):
        browser.find_element_by_link_text("亲,请登录").click()
        browser.find_element_by_xpath('//*[@id="login"]/div[1]/i').click()
        print("请在10秒内完成扫码")
        # 通过用户操作手机进行扫码
        time.sleep(3)
        browser.get("https://cart.taobao.com/cart.htm")
    time.sleep(1)
    

    4.需要记录当前进入购物车的时间戳

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

    5.购买时间

    def buy(times):
        # 死循环
        while True:
            now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
            # 购买时间误差不能超过1秒,所以要用毫秒级别的单位
    

    6.时间对比,时间到的话就点击结算

    if now > times:
        while True:
            try:
                if browser.find_element_by_id("J_SelectAll2"):
                    browser.find_element_by_id("J_SelectAll2").click()
                    break
            except:
                print("找不到购买按钮")
        # 点击结算按钮
        while True:
            try:
                if browser.find_element_by_link_text("结 算"):
                    browser.find_element_by_link_text("结 算").click()
                    print("结算成功")
                    break
            except:
                pass
    

    7.点击订单

    while True:
        try:
            if browser.find_element_by_link_text('提交订单'):
                browser.find_element_by_link_text('提交订单').click()
                now1 = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
                print("抢购成功时间:%s" % now1)
                break
        except:
            print("再次尝试提交订单")
    time.sleep(0.01)
    

    8.设置抢购时间

    times = input("请输入抢购时间,格式如(2021-08-16 11:20:00.000000):")
    buy(times)
    

    9.运行代码

    这样这个脚本算是完成了,当然,你还可以直接设置自动填写支付密码

    分享就到这里啦,Python好用但是不要乱用,不然就入狱咯!

    以上就是今天的全部内容分享,觉得有用的话欢迎点赞收藏哦!

    Python经验分享

    学好 Python 不论是用于就业还是做副业赚钱都不错,而且学好Python还能契合未来发展趋势——人工智能、机器学习、深度学习等。

    小编是一名Python开发工程师,自己整理了一套最新的Python系统学习教程,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。如果你也喜欢编程,想通过学习Python转行、做副业或者提升工作效率,这份【最新全套Python学习资料】 一定对你有用!

    小编为对Python感兴趣的小伙伴准备了以下籽料 !

    对于0基础小白入门:

    如果你是零基础小白,想快速入门Python是可以考虑培训的!

    • 学习时间相对较短,学习内容更全面更集中
    • 可以找到适合自己的学习方案

      包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习、Python量化交易等学习教程。带你从零基础系统性的学好Python!

      一、Python所有方向的学习路线

      Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

      二、学习软件

      工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

      三、入门学习视频

      我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

      四、实战案例

      光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

      五、面试资料

      我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

      最新全套【Python入门到进阶资料 & 实战源码 &安装工具】(安全链接,放心点击)

      我已经上传至CSDN官方,如果需要可以扫描下方官方二维码免费获取【保证100%免费】

      *今天的分享就到这里,喜欢且对你有所帮助的话,记得点赞关注哦~下回见 !