Python实现秒杀某宝商品抢购
人生苦短,我用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 # 自动打开浏览器并且最大化窗口 # Python学习交流1裙 815624229 ### # Python学习交流2裙 279199867 ### 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)
[外链图片转存中 . . . (img -oA7Q06eg - 1648366756452 ) ]
**这样就可以通过设定的段时间去定时定点抢购商品啦! **
这样就可以通过设定的段时间去定时定点抢购商品啦!
我每天都走越来越刑的路上疯狂试探
大家给点个免费的关注吧
感谢 !!!