这篇文章将为大家详细讲解有关如何使用Python selenium实现淘宝抢单机器人,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
一、痛点
各大电商在一些特定的日子都会开启促销活动,如618、双十一等,有时还得盯着时间抢限量发售的商品,但你的成功率高吗?是否经常会遇到App一直加载,刷新后发现商品被一扫而光了?事实是,很多和你竞争抢购商品的对手比你的手更快更准,因为他们很多都是能精准执行命令的机器人
。
气不气?没关系这篇文章将手把手教你零基础建设一个自己的机器人,帮你在设定好的时间自动下单,再也不用为抢不到心爱的宝贝烦恼了!
二、准备工作
在建设机器人之前,请确保你准备好了如下工具:
2.1 "Windows 配置Python"
下列步骤适用于Windows系统。
Anaconda是一个开源的Python发行版本,集成了Python和众多科学包。
然后你会看到这样的画面:
Jupyter Lab
看到右侧的Notebook区域,添加一个Notebook,然后使用下面的代码打造机器人!
2.2 "Mac 配置Python"
下列步骤适用于Intel Mac和M1 Mac。
终端Terminal
然后你会看到这样的画面:
Jupyter Lab
看到右侧的Notebook区域,添加一个Notebook,然后使用下面的代码打造机器人!
三、代码
以下代码请在你刚才创建的Notebook中运行。
3.1 下载需要的程序包
# Selenium 常用于网页的自动化测试,在此我们借助它自动化淘宝下单的过程
!pip install selenium
!which python
上面的代码返回了/opt/anaconda3/bin/python,接下来就要用到这个地址。
3.2 下载一个小配件
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实现淘宝抢单机器人”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。