当前位置 : 主页 > 编程语言 > python >

Python基础篇:某宝一键秒杀,毫秒级的精准度

来源:互联网 收集:自由互联 发布时间:2022-06-18
某宝秒杀,用毫秒级的精准度来抢购! 前言 还记得前段时间情人节,各种产品活动秒杀。结果有对象的辣条自然少不了被对象一番折磨 ​(注意:不是new出来的哈,也不是橡胶的,实


某宝秒杀,用毫秒级的精准度来抢购!

前言

还记得前段时间情人节,各种产品活动秒杀。结果有对象的辣条自然少不了被对象一番折磨 ​(注意:不是new出来的哈,也不是橡胶的,实实在在的女朋友)​ 于是乎彻底激发了我的求生欲,在这种关头我是必须发挥出自己的才能了,这才有了这篇毫秒级秒杀的精品出来,话不多说直接进入主题

Python基础篇:某宝一键秒杀,毫秒级的精准度_开发语言

目录

1,项目环境

2,某宝抢购流程分析

3,程序实现思路

4,代码实践与梳理

项目环境

操作系统:Windows 10

开发环境:python3.7

IDE:Pycharm

自动化模块:Selenium

安装命令:pip install selenium

浏览器版本:Google Chrome 99.0.4844.51

浏览器驱动版本:ChromeDriver 99.0.4844.51

浏览器驱动版本与浏览器版本要一致!

某宝抢购流程分析

1,登录网站

2,购物车选中抢购商品

3,结算购买

4,提交订单

关键:快速完成前面流程,当订单进入提交页面时,付款时间不影响抢购。

程序实现思路

购物流程都是固定没有变化的,因此可以把购物流程步骤用代码编辑好交给selenium去自动执行。

项目结构:驱动直接复制放入项目根路径

Python基础篇:某宝一键秒杀,毫秒级的精准度_后端_02

​1,导入对应类库实现对浏览器的操作​
# author:辣条
# ide: PyCharm

from selenium import webdriver
import datetime
import time

#自动打开浏览器并且最大化窗口
driver = webdriver.Chrome()
driver.maximize_window()

执行上述代码,浏览器会自动打开并显示如下,证明我们已经开始通过代码操控浏览器了。

Python基础篇:某宝一键秒杀,毫秒级的精准度_python_03

​2,用代码实现购物流程​
2.1 访问某宝:
driver.get('https://www.taobao.com')
2.2登录某宝:

Python基础篇:某宝一键秒杀,毫秒级的精准度_后端_04

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 选中所有商品

Python基础篇:某宝一键秒杀,毫秒级的精准度_python_05

#寻找全选选项并勾选
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)

Python基础篇:某宝一键秒杀,毫秒级的精准度_python_06

​这样就可以通过设定的段时间去定时定点抢购商品啦!​

print(f"再次尝试提交订单")
time.sleep(0.01)[外链图片转存中...(img-oA7Q06eg-1648366756452)]

**这样就可以通过设定的段时间去定时定点抢购商品啦!**



上一篇:FlutterComponent最佳实践之取色我来实现
下一篇:没有了
网友评论