• 手把手教你编写Python抢购脚本


    想买苹果手机,但总是抢不到,所以想试着能不能写个脚本代码。

    第一步:把想要抢购的商品加进购物车,注意:脚本是对购物车内全部商品进行下单操作,所以不够买的商品最好先从购物车内删除。
    第二步:写好Python脚本,在抢购之前运行,并设置好抢购时间。

    Python脚本实现

    • 安装Python。我安装的是anaconda
    • 安装webdriver扩展。它是Selenium模块的一部分。Selenium是一个用于Web应用程序测试的工具,用于测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。所以其实就是安装Selenium:Win+R,输入cmd,在命令行中输入pipshow selenium
    • 安装chrome浏览器(因为我用的是谷歌)
    • 安装chromedriver。它是chrome的插件,是为了webDriver能通过操作chromedriver来控制chrome浏览器自动操作,如打开网页,点击按钮等操作。

    下载地址:

    http://chromedriver.storage.googleapis.com/index.html或https://npm.taobao.org/mirrors/chromedriver/

    **注意:下载时要根据电脑系统和chrome浏览器版本来选择对应的chromedriver版本。**可以通过浏览器右上角的三点→帮助→关于Google Chrome来查看自己的chrome版本。
    在这里插入图片描述
    下载chromedriver安装包后,进行解压,放在chrome安装的同级目录下,同时在环境变量PATH中添加路径。
    在这里插入图片描述
    然后用以下代码检验是否安装成功:

    然鹅,此时我遇到了错误,如下

    于是,我把chromedriver.exe放到了我python脚本的文件夹后,就完美解决问题了!

    【补充】
    我知道自己为什么出现上面那个错误了,因为路径没输入!
    在下图所示红框处输入自己的下载的chromedriver安装路径即可成功运行。
    在这里插入图片描述
    完整的Python脚本代码如下:

    ```python
    # coding=utf-8
    import os
    from selenium import webdriver
    import datetime
    import time
    from os import path
    
    #此处chromedriver改为自己下载解压的chromedriver的路径
    driver = webdriver.Chrome("E:/JupyterNotebookSavePath/chromedriver")
    #driver.maximize_window()
    
    def login():
        #打开淘宝首页,扫码登陆淘宝
        driver.get("https://www.taobao.com")
        time.sleep(3)
        if driver.find_element_by_link_text("亲,请登录"):
            driver.find_element_by_link_text("亲,请登录").click()
            print("请在15秒内完成扫码")
            time.sleep(15)
            #打开购物车列表首页
            driver.get("https://cart.taobao.com/cart.htm")
            time.sleep(3)
            #全选购物车
        if driver.find_element_by_id("J_SelectAll1"):
            driver.find_element_by_id("J_SelectAll1").click()
        now = datetime.datetime.now()
        print("login success:", now.strftime("%Y-%m-%d %H:%M:%S"))
    
    def buy(times):
        while True:
            #记录当前时间,使用datatime内置模块
            now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
            print(times)
            print(now)
            # 对比时间,时间到的话就点击结算
            if now == times:
                try:
                    if driver.find_element_by_id("J_Go"):
                        driver.find_element_by_id("J_Go").click()
                        driver.find_element_by_link_text('提交订单').click()
                        print('抢购成功,请尽快付款')
                except:
                     print('请再次尝试提交订单')
            print(now)
            time.sleep(0.1)
    
    if __name__ == "__main__":
        times = input("请输入抢购时间(例如格式:2021-02-01 00:00:00):")
        login()
        buy(times)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51

    另外怕大家不会使用,直接给大家准备了写好的,直接下载打开即可使用!
    源码放在百度云盘上了需要可以微信扫描下方CSDN官方认证二维码免费领取

    学习资源推荐

    上面都是一些软技能的干货分享,希望可以帮到正在入门学习 Python 的小伙伴们,下面是整理好的一些资料分享。
    在这里插入图片描述
    在这里插入图片描述

    python副业兼职与全职路线

    在这里插入图片描述

    在这里插入图片描述

    👉[[CSDN大礼包:《python兼职资源&全套学习资料》免费分享]]安全链接,放心点击

  • 相关阅读:
    移动端布局方案
    Kubernetes---运行一个单实例有状态应用
    java毕业设计古典舞在线交流平台(附源码、数据库)
    Transformer原理详解
    服务端(后端)主动通知前端的实现:WebSocket(springboot中使用WebSocket案例)
    雷达得基本概念--关键词
    DO LARGE LANGUAGE MODELS KNOW ABOUT FACTS?
    LoadBalancer (本地负载均衡)
    Linux文件重命名批量操作(截取特定位置的字符)
    Python基础dict字典定义与函数
  • 原文地址:https://blog.csdn.net/weixin_55154866/article/details/128189327