python版登录验证码自动识别
- 编辑时间: 2020-05-20 23:29:07
- 浏览量: 4601
- 作者: makerroot
- 文章分类: python后端
- 评论数: 暂无评论
现在很多登录都要输入验证码,那要自动登录呢,怎么办,经过几天的实验之后发现都不理想,后来就问了一个专业爬虫的好友“吴亦凡”,他给我说联众大码很好用,我注册试了一下还真不错,后来升级成为了联众打码的开发者,哈哈,效率99.99%以上。真的不错,推荐一下,价格也比较合理。
python版代码样列
import requests import json class VerificationCode(): def __init__(self, api_username, api_password, file_name, api_post_url, yzm_min, yzm_max, yzm_type, tools_token, img_url=None): self.api_username = api_username self.api_password = api_password self.file_name = file_name self.api_post_url = api_post_url self.yzm_min = yzm_min self.yzm_max = yzm_max self.yzm_type = yzm_type self.tools_token = tools_token self.img_url = img_url self.headers = { 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Language': 'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3', 'Accept-Encoding': 'gzip, deflate', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0', 'Connection': 'keep-alive', 'Host': 'v1-http-api.jsdama.com', 'Upgrade-Insecure-Requests': '1' } if img_url is not None: self.download_vcode() def download_vcode(self): try: headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0'} s = requests.session() resp = s.get(self.img_url, headers=headers, verify=False) file_name = 'code.png' with open(file_name, 'wb') as f: f.write(resp.content) except Exception as e: print(e) pass def verification(self): files = { 'upload': (self.file_name, open(self.file_name, 'rb'), 'image/png') } data = { 'user_name': self.api_username, 'user_pw': self.api_password, 'yzm_minlen': self.yzm_min, 'yzm_maxlen': self.yzm_max, 'yzmtype_mark': self.yzm_type, 'zztool_token': self.tools_token } s = requests.session() # 代理使用 # r = s.post(api_post_url, headers=headers, data=data, files=files, verify=False, proxies=proxies) r = s.post(self.api_post_url, headers=self.headers, data=data, files=files, verify=False) return json.loads(r.text).get('data').get('val') if __name__ == '__main__': vc = VerificationCode('用户名', '密码', '图片名称', "http://v1-http-api.jsdama.com/api.php?mod=php&act=upload", '1', '8', '1014(可根据情况定义,目前是六位的验证码,不同验证码识别传递的参数在这里更改)', 'dbedebf205192e54867162bf81617953', '图片链接(有本地图片可不写,直接写上面的图片名称就行)') print(vc.verification(), type(vc.verification()))
识别的情况如图所示
更多可查看官网各种验证码识别
评论列表
暂无评论
热门阅读
10你有酒我有故事
提交评论