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


Posted in Python onJune 18, 2021

一、痛点

各大电商在一些特定的日子都会开启促销活动,如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

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

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

Jupyter Lab

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

2.2 "Mac 配置Python"

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

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

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

终端Terminal

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

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

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

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基于queue和threading实现多线程下载实例
Oct 08 Python
Python pickle类库介绍(对象序列化和反序列化)
Nov 21 Python
python+opencv实现动态物体识别
Jan 09 Python
mac 安装python网络请求包requests方法
Jun 13 Python
pytorch 数据集图片显示方法
Jul 26 Python
浅析Python+OpenCV使用摄像头追踪人脸面部血液变化实现脉搏评估
Oct 17 Python
python分别打包出32位和64位应用程序
Feb 18 Python
Python找出列表中出现次数最多的元素三种方式
Feb 24 Python
pandas数据选取:df[] df.loc[] df.iloc[] df.ix[] df.at[] df.iat[]
Apr 24 Python
如何使用python记录室友的抖音在线时间
Jun 29 Python
Python scrapy爬取起点中文网小说榜单
Jun 13 Python
微信小程序调用python模型
Apr 21 Python
python中pandas对多列进行分组统计的实现
python 常用的异步框架汇总整理
Jun 18 #Python
Opencv中cv2.floodFill算法的使用
Python下opencv使用hough变换检测直线与圆
python 网络编程要点总结
Jun 18 #Python
python opencv检测直线 cv2.HoughLinesP的实现
Jun 18 #Python
教你用Python+selenium搭建自动化测试环境
Jun 18 #Python
You might like
详解Laravel设置多态关系模型别名的方式
2019/10/17 PHP
PHP rsa加密解密算法原理解析
2020/12/09 PHP
图片自动缩小的js代码,用以防止图片撑破页面
2007/03/12 Javascript
json 入门基础教程 推荐
2009/10/31 Javascript
深入理解JavaScript系列(2) 揭秘命名函数表达式
2012/01/15 Javascript
jquery插件如何使用 jQuery操作Cookie插件使用介绍
2012/12/15 Javascript
你可能不知道的JavaScript的new Function()方法
2014/04/17 Javascript
浅谈JavaScript函数节流
2014/12/09 Javascript
jQuery中after()方法用法实例
2014/12/25 Javascript
JS插件overlib用法实例详解
2015/12/26 Javascript
浅谈jQuery为哪般去掉了浏览器检测
2016/08/29 Javascript
js获取css的各种样式并且设置他们的方法
2017/08/22 Javascript
python实现迭代法求方程组的根过程解析
2019/11/25 Javascript
vue实现淘宝购物车功能
2020/04/20 Javascript
微信小程序实现选择地址省市区三级联动
2020/06/21 Javascript
解决js中的setInterval清空定时器不管用问题
2020/11/17 Javascript
[49:31]TFT vs Mski Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
[03:01]完美盛典趣味短片 DOTA2年度最佳&拉胯英雄
2019/12/07 DOTA
pyinstaller打包单个exe后无法执行错误的解决方法
2019/06/21 Python
Python qqbot 实现qq机器人的示例代码
2019/07/11 Python
Python+OpenCv制作证件图片生成器的操作方法
2019/08/21 Python
妙用itchat! python实现久坐提醒功能
2019/11/25 Python
HTML5 移动页面自适应手机屏幕四类方法总结
2017/08/17 HTML / CSS
美国一家主营日韩美妆护肤品的在线商店:iMomoko
2016/09/11 全球购物
Mansur Gavriel官网:纽约市的一个设计品牌
2019/05/02 全球购物
乌克兰品牌化妆品和香水在线商店:Bomond
2020/01/14 全球购物
Hurley官方网站:扎根于海滩生活方式的全球青年文化品牌
2020/05/18 全球购物
杭州-DOTNET笔试题集
2013/09/25 面试题
销售部主管岗位职责
2013/12/18 职场文书
2014企业领导班子四风对照检查材料思想汇报
2014/09/17 职场文书
万能检讨书2000字
2014/10/17 职场文书
2015年创先争优活动总结
2015/03/27 职场文书
2016年寒假家长评语
2015/10/10 职场文书
节水宣传标语口号
2015/12/26 职场文书
品德与社会教学反思
2016/02/24 职场文书
Python 用户输入和while循环的操作
2021/05/23 Python