前言
嗨喽~大家好呀,这里是魔王呐 ❤ ~!
人生苦短,我用Python~
双十二又来临,面对活动,我们不能时刻紧盯!
面临各种活动秒杀 抢不过别人怎么办呢?
今天出一期 利用Python抢购秒杀商品的文章
目录
项目环境
操作系统:Windows 10
开发环境:python3.7
IDE:Pycharm
自动化模块:Selenium
安装命令:pip install selenium
浏览器版本:Google Chrome 99.0.4844.51
浏览器驱动版本:ChromeDriver 99.0.4844.51
注意: 浏览器驱动版本与浏览器版本要一致!
抢购流程分析
-
登录网站
-
购物车选中抢购商品
-
结算购买
-
提交订单
关键:快速完成前面流程,当订单进入提交页面时,付款时间不影响抢购。
程序实现思路
购物流程都是固定没有变化的,因此可以把购物流程步骤用代码编辑好交给selenium去自动执行。
项目结构:驱动直接复制放入项目根路径
代码展示
🎯 博主文章素材、解答、源码、教程领取处:点击
1、导入对应类库实现对浏览器的操作
from selenium import webdriver
import datetime
import time
#自动打开浏览器并且最大化窗口
driver = webdriver.Chrome()
driver.maximize_window()
执行上述代码,浏览器会自动打开并显示如下,证明我们已经开始通过代码操控浏览器了。
2、用代码实现购物流程
2.1 访问某宝:
driver.get('https://www.taobao.com')
2.2登录某宝:
if driver.find_element_by_partial_link_text('亲,请登录'):
driver.find_element_by_partial_link_text('亲,请登录').click()
2.3 进入购物车
#跳转到购物车页面
driver.get('https://cart.taobao.com/cart.htm')
2.4 选中所有商品
#寻找全选选项并勾选
if driver.find_element_by_id("J_SelectAll1"):
driver.find_element_by_id("J_SelectAll1").click()
2.5 对比时间,提交结算(重点)
def buy(buy_time): #buy_time 购买时间
while True:
now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
print('当前时间:%s'%now)
#判断是否到达抢购时间
if now>buy_time:
try:
driver.find_element_by_partial_link_text('结 算').click()
except:
pass
#对比时间,循环提交订单
while True:
try:
if driver.find_element_by_link_text('提交订单'):
driver.find_element_by_link_text('提交订单').click()
print(f"抢购成功,请尽快付款")
except:
print(f"再次尝试提交订单")
time.sleep(0.01)
这样就可以通过设定的段时间去定时定点抢购商品啦!
print(f"再次尝试提交订单")
time.sleep(0.01)
这样就可以通过设定的段时间去定时定点抢购商品啦!
我每天都走越来越刑的路上疯狂试探~
推荐往期文章
🎯 博主所有文章素材、解答、源码、教程领取处:点击
对python感兴趣的小伙伴也可以看一下博主其他相关文章哦~
python小介绍:
python是什么?工作前景如何?怎么算有基础?爬数据违法嘛?。。
python数据分析前景:
用python分析“数据分析”到底值不值得学习,以及学完之后大概能拿到多少工资
python基础自测题:
最后推荐一套Python视频给大家,希望对大家有所帮助:
尾语
要成功,先发疯,下定决心往前冲!
学习是需要长期坚持的,一步一个脚印地走向未来!
未来的你一定会感谢今天学习的你。
—— 心灵鸡汤
本文章到这里就结束啦~感兴趣的小伙伴可以复制代码去试试哦 😝