用Python selenium实现淘宝抢单机器人

 更新时间:2021年06月18日 16:09:13   作者:BulletTech2021  
今天给大家带来的是关于Python实战的相关知识,文章围绕着用Python selenium实现淘宝抢单机器人展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下

一、痛点

各大电商在一些特定的日子都会开启促销活动,如618、双十一等,有时还得盯着时间抢限量发售的商品,但你的成功率高吗?是否经常会遇到App一直加载,刷新后发现商品被一扫而光了?事实是,很多和你竞争抢购商品的对手比你的手更快更准,因为他们很多都是能精准执行命令的机器人

气不气?没关系这篇文章将手把手教你零基础建设一个自己的机器人,帮你在设定好的时间自动下单,再也不用为抢不到心爱的宝贝烦恼了!

二、准备工作

在建设机器人之前,请确保你准备好了如下工具:

  • 一台电脑:不需要多快多新,能用就行
  • Chrome浏览器:机器人将在Chrome上完成自动下单的工作
  • Python编程环境:别怕,你不需要会编程,代码已经帮你写好了。但你需要安装一个软件能让它跑起来,所以需要简单配置一下python的编程环境。Windows和Mac用户,请按照相对应的方式配置。

2.1 "Windows 配置Python"

下列步骤适用于Windows系统。

Anaconda是一个开源的Python发行版本,集成了Python和众多科学包。

  • 第一步:下载Anaconda Windows版本的64-Bit Graphical Installer
  • 第二步:安装Anaconda
  • 第三步:打开Anaconda Navigator,点击Launch Notebook或JupyterLab

然后你会看到这样的画面:

Jupyter Lab

看到右侧的Notebook区域,添加一个Notebook,然后使用下面的代码打造机器人!

2.2 "Mac 配置Python"

下列步骤适用于Intel Mac和M1 Mac。

  • 第一步:打开终端(command + space 激活Spotlight,输入Terminal)

终端Terminal

  • 第二步:输入pip3 install jupyter
  • 第三步:输入pip3 install jupyter-lab
  • 第四步:输入jupyter lab

然后你会看到这样的画面:

Jupyter Lab

看到右侧的Notebook区域,添加一个Notebook,然后使用下面的代码打造机器人!

三、代码

以下代码请在你刚才创建的Notebook中运行。

3.1 下载需要的程序包

# Selenium 常用于网页的自动化测试,在此我们借助它自动化淘宝下单的过程
!pip install selenium
!which python

上面的代码返回了/opt/anaconda3/bin/python,接下来就要用到这个地址。

3.2 下载一个小配件

  • 查看自己Chrome浏览器的版本(进入关于Chrome即可看到软件版本)
  • 前往ChromeDriver的官方下载地址下载对应版本的chrome driver后,放在此/opt/anaconda3/bin 文件夹里 
from selenium import webdriver
import datetime
import time

小技巧:这个时间可以用来快速设定抢购时间

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

2021-06-18 00:00:00.000000

3.3 机器人的零件

def login():
    # 打开淘宝首页,通过扫码登录
    browser.get("https://www.taobao.com")
    if browser.find_element_by_link_text("请登录"):
        browser.find_element_by_link_text("请登录").click()
        print(f"请尽快扫码登录")
    time.sleep(10)
def picking():
    # 打开购物车列表页面
    browser.get("https://cart.taobao.com/cart.htm")
    time.sleep(3)
    # method = 0全选购物车
    method = 0
    if method == 0:
        while True:
            try:
                if browser.find_element_by_id("J_SelectAll1"):
                    browser.find_element_by_id("J_SelectAll1").click()
                    break
            except:
                print(f"找不到购买按钮")
    #method = 1 手动勾选
    else:
        print(f"请手动勾选需要购买的商品")
        time.sleep(5)
#等待抢购时间,定时秒杀,这里我们定义一个buy函数
def buy(times):
    print(times)
    while True:
        now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
        # 对比时间,时间到的话就点击结算
        if now > times:
            # 点击结算按钮
            while True:
                try:
                    if browser.find_element_by_link_text("结 算"):
                        browser.find_element_by_link_text("结 算").click()
                        print(f"结算成功,准备提交订单")
                        break
                except:
                    pass
            # 点击提交订单按钮
            while True:
                try:
                    if browser.find_element_by_link_text('提交订单'):
                        browser.find_element_by_link_text('提交订单').click()
                        print(f"抢购成功,请尽快付款")
                except:
                    print(f"再次尝试提交订单")
            time.sleep(0.01)

3.4 启动机器人

browser = webdriver.Chrome()
login()
picking()

3.5 定时下单

order_time = input("请输入抢购时间,格式如(2021-06-08 19:30:00.000000):")

请输入抢购时间,格式如(2021-06-08 19:30:00.000000): 2021-06-08 19:55:00.000000

buy(order_time)

到此这篇关于用Python selenium实现淘宝抢单机器人的文章就介绍到这了,更多相关Python selenium淘宝抢单内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python错误处理操作示例

    Python错误处理操作示例

    这篇文章主要介绍了Python错误处理操作,结合实例形式分析了Python使用try...except...finaly语句进行错误处理的相关操作技巧与注意事项,需要的朋友可以参考下
    2018-07-07
  • CentOS 7下安装Python 3.5并与Python2.7兼容并存详解

    CentOS 7下安装Python 3.5并与Python2.7兼容并存详解

    这篇文章主要给大家介绍了在CentOS 7下安装Python 3.5并与Python2.7兼容并存的相关资料,文中将安装步骤介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面跟着小编来一起学习学习吧。
    2017-07-07
  • python基础之共有操作

    python基础之共有操作

    这篇文章主要介绍了python函数的定义和调用,实例分析了Python中返回一个返回值与多个返回值的方法,需要的朋友可以参考下
    2021-10-10
  • 浅谈哪个Python库才最适合做数据可视化

    浅谈哪个Python库才最适合做数据可视化

    数据可视化是任何探索性数据分析或报告的关键步骤,目前有许多非常好的商业智能工具,比如Tableau、googledatastudio和PowerBI等,本文就详细的进行对比,感兴趣的可以了解一下
    2021-06-06
  • pytorch  网络参数 weight bias 初始化详解

    pytorch 网络参数 weight bias 初始化详解

    这篇文章主要介绍了pytorch 网络参数 weight bias 初始化详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • 浅谈python扩展包安装失败解决方案

    浅谈python扩展包安装失败解决方案

    Python包安装失败最主要原因是默认安装源为国外服务器,安装速度慢,但是在使用python扩展包安装失败,本文就来介绍一下,感兴趣的可以了解一下
    2023-09-09
  • python中对列表的删除和添加方法详解

    python中对列表的删除和添加方法详解

    这篇文章主要为大家详细介绍了python中对列表的删除和添加方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-02-02
  • python 爬虫爬取京东ps4售卖情况

    python 爬虫爬取京东ps4售卖情况

    这篇文章主要介绍了python 如何用爬虫爬取京东ps4售卖情况,帮助大家更好的利用python爬取自己想要的数据,感兴趣的朋友可以了解下
    2020-12-12
  • django下创建多个app并设置urls方法

    django下创建多个app并设置urls方法

    在本篇文章里小编给大家分享的是一篇关于django下创建多个app并设置urls方法,需要的朋友们可以参考学习下。
    2020-08-08
  • python调用百度语音识别api

    python调用百度语音识别api

    这篇文章主要介绍了python调用百度语音识别api,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08

最新评论