知识点
- selenium 淘宝滑块处理
- 抢购逻辑实现
必备环境
- python 3.8
- pycharm 专业版
- 谷歌浏览器 + 谷歌驱动 + selenium3.141.0
- stealth.min.js
代码展示
模块导入
import time
from info import PHONE, PASSWORD
from selenium import webdriver
模拟滑动轨迹
拿到移动轨迹,模仿人的滑动行为,先匀加速后匀减速。
def get_tracks(distance):
# 初速度
v = 5
# 单位时间为 0.2s 来统计轨迹,轨迹即 0.2s 内的位移
t = 0.2
# 位移/轨迹列表,列表内的一个元素代表 0.2s 的位移
tracks = []
# 当前的位移
current = 0
# 到达 mid 值开始减速
mid = distance * 4 / 5
while current < distance:
if current < mid:
# 加速度越小,单位时间的位移越小,模拟的轨迹就越多越详细
a = 8
else:
a = -3
# 初速度
v0 = v
# 0.2 秒时间内的位移
s = v0 * t + 0.5 * a * (t ** 2)
# 当前的位置
current += s
# 添加到轨迹列表
tracks.append(round(s))
# 速度已经达到 v,该速度作为下次的初速度
v = v0 + a * t
return tracks


