⽤Pythonselenium实现淘宝抢单机器⼈
⼀、痛点
各⼤电商在⼀些特定的⽇⼦都会开启促销活动,如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 = w().strftime('%Y-%m-%d %H:%M:%S.%f')
print(now)
2021-06-18 00:00:00.000000
3.3 机器⼈的零件
def login():
# 打开淘宝⾸页,通过扫码登录
<("www.taobao")
if browser.find_element_by_link_text("请登录"):
browser.find_element_by_link_text("请登录").click()
print(f"请尽快扫码登录")
time.sleep(10)
def picking():
# 打开购物车列表页⾯
chrome浏览器电脑版下载<("cart.taobao/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 = w().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淘宝抢单内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论