百度旋转验证码

更新时间:2023-06-17 11:44:37 阅读: 评论:0

百度旋转验证码
声明:本内容仅供学习交流,严禁⽤于商业⽤途,否则由此产⽣的⼀切后果均与作者⽆关,请于24⼩时内删除1、验证码处理思路流程
就拿本系列⽽⾔破解的思路如下:
1. 获取图⽚链接
2. 下载图⽚
3. 将图⽚上传到打码平台获取参数
4. 设计滑块距离算法
5. ⾃动化拟⼈滑动滑块
2014考研英语二真题
2、获取图⽚链接
我们通过chrome的调试⾯版抓包获取到图⽚链接
接下来看看Preview页⾯确认⼀下,果不其然是这个!
图⽚下载模块代码
try:
rotation_image_src = lf.driver.find_element_by_xpath('//img[@class="vcode-spin-img"]').get_attribute('src')    rotation_image = (rotation_image_src).content
with open('./rotation_image.png', 'wb')as f:
f.write(rotation_image)
except Exception as error:
print(error)
fresh()
time.sleep(4)
3、滑块距离算法设计
1、滑块像素
横轴距离50
江南style歌词什么意思问题来了,为什么要两个呢?
2、滑条总长度
横轴距离260
根据多次计算实际的滑条距离220-235根据实际情况调整
3、⽐例设计spring brother
打码平台返回的是正负的旋转度数
正数直接⽐例处理
负数加360
ucar圆形的⾓度是360°所以该⽐例为【打码平台参数:360】
滑条滑动距离:
核⼼代码
if '百度安全验证' in str(lf.driver.page_source):
while True:
time.sleep(random.uniform(3, 5))
try:
rotation_image_src = lf.driver.find_element_by_xpath('//img[@class="vcode-spin-img"]').get_attribute('src')            rotation_image = (rotation_image_src).content
with open('./rotation_image.png', 'wb')as f:
f.write(rotation_image)
except Exception as error:
print(error)
fresh()
publishertime.sleep(4)
continue
try:
传说的拼音
distance_api = int(lf.ba64_api(r"./rotation_image.png", 29))
except Exception as error:
print(error)
continue
print('distance api:', distance_api)
if distance_api > 0:
distance = abs(220 * distance_api / 360)
elif distance_api < 0:
walking on airdistance = abs(abs(220 * (360 + distance_api) / 360))
el:
continue
print('current distance:', distance)
partHead = il(distance * 0.8)
partTail = distance - partHead
slider_element = lf.driver.find_element_by_xpath('//div[@class="vcode-spin-button"]/p')
ActionChains(lf.driver).click_and_hold(on_element=slider_element).perform()
ActionChains(lf.driver).move_by_offt(xofft=partHead, yofft=0).perform()
tracks = lf.get_tracks(partTail)
for s in tracks:
ActionChains(lf.driver).move_by_offt(xofft=s, yofft=0).perform()
time.sleep(0.3)
ActionChains(lf.driver).relea().perform()
time.sleep(random.uniform(3, 5))
if str(lf.driver.page_source).find("百度安全验证") >= 0:
continue
el:
return True
allowed滑动的⽐例,假设需要滑动的距离为X
那么就是【X:235】
4、拟⼈滑动算法
def get_tracks(lf, distance):        v = 0
t = 0.3
tracks = []
current = 0
mid = distance * 4 / 5
while current < distance:
if current < mid:
a = 2
el:
托福辅导班a = -3
v0 = v
s = v0 * t + 0.5 * a * (t ** 2)            current += s
tracks.append(round(s))            v = v0 + a * t
return tracks
v0 * t + 0.5 * a * (t ** 2)
current += s
新西兰总理怀孕
tracks.append(round(s))            v = v0 + a * t
return tracks

本文发布于:2023-06-17 11:44:37,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/148165.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:距离   打码   平台   验证码   滑块   处理   滑动   作者
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图