python处理滑块验证码(企查查)实例
python处理滑块验证码,获取需要滑动的坐标位置实例
·
① Imagx=248.53是基于企查查的滑块横条的X轴长度,其他的网址或滑块需要重新配置
②param url1:背景链接
③param url2:滑块链接
④param geetest1:滑块背景图片
把背景链接存储为图片文件保存下来
⑤param geetest2:为滑块图片
代码示例如下:
import base64
import os
import cv2
import numpy as np
import requests
def QichachaYanzheng(url1:str,url2:str,imgpath,ImgX=248.53):
# 企查查默认验证码宽度248.53
# 下载链接图片到指定目录
'''
:param url1:背景链接
:param url2:滑块链接
:param geetest1:滑块背景图片
:param geetest2:为滑块图片
:return:
'''
geetest1=download_img(url1,"gt1",imgpath)
geetest2=download_img(url2,"gt2",imgpath)
with open(geetest1, "rb") as f: # 转为二进制格式
base64_data1 = base64.b64encode(f.read()) # 使用base64进行加密
with open(geetest2, "rb") as f: # 转为二进制格式
base64_data2 = base64.b64encode(f.read()) # 使用base64进行加密
return CalculateNotchDistance(base64_data1,base64_data2,ImgX)
def CalculateNotchDistance(mBgB64String:str, mBlockB64String:str, mImageWebShowX:int):
img_BgBgr = cv2.imdecode(np.frombuffer(base64.b64decode(mBgB64String), np.uint8), cv2.IMREAD_COLOR)
img_BgGray = cv2.cvtColor(img_BgBgr, cv2.COLOR_BGR2GRAY)
img_BlockGray = cv2.imdecode(np.frombuffer(base64.b64decode(mBlockB64String), np.uint8), cv2.IMREAD_GRAYSCALE)
dct_Result = cv2.minMaxLoc(cv2.matchTemplate(img_BgGray, img_BlockGray, cv2.TM_CCOEFF_NORMED))
return int(dct_Result[2][0] * mImageWebShowX / img_BgBgr.shape[1])
# 下载和保存图像
def download_img(img_url,ImgName,imgpath=os.path.join(os.path.dirname(os.path.dirname(os.getcwd())),"res\验证码暂存")):
# 验证码图片默认暂存位置:"C:\Users\EDY\Documents\UiBot\creator\Projects\高级\res\验证码暂存"
api_token = "fklasjfljasdlkfjlasjflasjfljhasdljflsdjflkjsadljfljsda"
header = {"Authorization": "Bearer " + api_token} # 设置http header,视情况加需要的条目,这里的token是用来鉴权的一种方式
r = requests.get(img_url, headers=header, stream=True)
print(r.status_code) # 返回状态码
if r.status_code == 200:
open(imgpath+"\\{}.png".format(ImgName), 'wb').write(r.content) # 将内容写入图片
print("done")
return imgpath+"\\{}.png".format(ImgName)
def test():
import sys
return sys.path
# if __name__ == '__main__':
# test()
把滑块图片存储为图片保存下来
其他包自行导入下载,cv2包百度网盘链接如下:
链接: cv2 提取码: 9r8k

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)