Python+Request库+第三⽅平台实现验证码识别⽰例1、登录时经常的出现验证码,此次结合Python+Request+第三⽅验证码识别平台(超级鹰识别平台)
3、使⽤超级鹰平台需进⾏注册,购买1元,应该有1000次积分,再⽣产对应软件ID
4、超级鹰下载Python语⾔进⾏Demo⽰例,代码如下(命名为ClassCode.py):
import requests
from hashlib import md5
class Chaojiying_Client(object):
def __init__(self, username, password, soft_id):
self.username = username
password = de('utf8')
self.password = md5(password).hexdigest()
self.soft_id = soft_id
self.base_params = {
'user': self.username,
'pass2': self.password,
'softid': self.soft_id,
}
self.headers = {
'Connection': 'Keep-Alive',
'User-Agent': 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)',
}
def PostPic(self, im, codetype):
"""
im: 图⽚字节
codetype: 题⽬类型参考 www.chaojiying/price.html
"""
params = {
'codetype': codetype,
}
params.update(self.base_params)
files = {'userfile': ('ccc.jpg', im)}
r = requests.post('upload.chaojiying/Upload/Processing.php', data=params, files=files, headers=self.headers)
return r.json()
def ReportError(self, im_id):
"""
im_id:报错题⽬的图⽚ID
"""
params = {
'id': im_id,
}
params.update(self.base_params)
r = requests.post('upload.chaojiying/Upload/ReportError.php', data=params, headers=self.headers)
return r.json()
5、下⾯使⽤ClassCode.py模块中的代码,对⼈⼈⽹实现验证码登录,此时⽰例分别使⽤Cookie和Session进⾏演⽰
import requests
from .ClassCode import Chaojiying_Client (导⼊ClassCode.py 模块)
from lxml import etree (需安装:pip3 install lxml)
# 对验证码图⽚进⾏抓捕及识别
url = '/SysHome.do'
headers = {
"User-Agent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36",
}
page_text = (url=url,headers=headers).text
tree = etree.HTML(page_text)
try:
code_img_src = tree.xpath('//*[@id="verifyPic_login"]/@src')[0]
code_img_data = (url=code_img_src, headers=headers).content
with open('./code_img_data.jpg', 'wb') as fp:
fp.write(code_img_data)
except Exception as msg:
print('元素不存在')
# 使⽤超级鹰平台实现验证码识别
chaojiying = Chaojiying_Client('超级鹰登录账号', '超级鹰登录密码', '根据验证码类型')
with open('code_img_data.jpg', 'rb') as fp:
img = fp.read()
result = chaojiying.PostPic(img, 1005)['pic_str']
print(result)
>>>>>>>>>###
使⽤Cookie进⾏登录
>>>>>>>>>###
# 使⽤Post发送登录请求 -- 使⽤Cookie进⾏登录
html怎么实现登录验证功能def login_url():
login_url = '/ajaxLogin/login?1=1&uniqueTimestamp=2021212242112' data = {
"email": "⼈⼈⽹登录账号",
"password": "⼈⼈⽹登录密码",
"icode": result,
"origURL": "/home",
"domain": "renren",
"key_id": 1,
"captcha_type": "web_login",
"f":""
}
response = requests.post(url=login_url,headers=headers,data=data)
print(response.status_code)
login_page_text =
with open('renren.html','w',encoding='utf-8') as fp:
fp.write(login_page_text)
kies
def Profile():
pro_url = '/969120248/profile'
pr_respose_text = (url=pro_url,headers=headers,cookies=login_url()).text
with open('profile.html','w',encoding='utf-8') as fp:
fp.write(pr_respose_text)
Profile()
>>>>>>>>>###
使⽤Session进⾏登录
>>>>>>>>>###
# 使⽤Post发送登录请求 -- 使⽤Session进⾏登录
# 创建session对象
session = requests.Session()
def login_url_Se():
login_url = '/ajaxLogin/login?1=1&uniqueTimestamp=2021212242112' data = {
"email": "⼈⼈⽹登录账号",
"password": "⼈⼈⽹登录密码",
"icode": result,
"origURL": "/home",
"domain": "renren",
"key_id": 1,
"captcha_type": "web_login",
"f":""
}
response = session.post(url=login_url,headers=headers,data=data)
print(response.status_code)
login_page_text =
with open('renren.html','w',encoding='utf-8') as fp:
fp.write(login_page_text)
kies
def Profile_Se():
pro_url = '/969120248/profile'
pr_respose_text = (url=pro_url,headers=headers,cookies=login_url_Se()).text with open('profile_New.html','w',encoding='utf-8') as fp:
fp.write(pr_respose_text)
Profile_Se()
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
招聘网站开题报告
« 上一篇
Web前端实训案例构建带有社交分享功能的网页
下一篇 »
推荐文章
热门文章
-
随机森林算法的改进方法
2024-10-02 -
基于随机森林算法的风险预警模型研究
2024-10-02 -
Python中的随机森林算法详解
2024-10-02 -
随机森林发展历史
2024-10-02 -
如何使用随机森林进行时间序列数据模式识别(八)
2024-10-02 -
随机森林回归模型原理
2024-10-02 -
如何使用随机森林进行时间序列数据模式识别(六)
2024-10-02 -
如何使用随机森林进行时间序列数据预测(四)
2024-10-02 -
如何使用随机森林进行异常检测(六)
2024-10-02 -
随机森林算法和grandientboosting算法 -回复
2024-10-02 -
随机森林方法总结全面
2024-10-02 -
随机森林算法原理和步骤
2024-10-02 -
随机森林的原理
2024-10-02 -
随机森林 重要性
2024-10-02 -
随机森林算法
2024-10-02 -
机器学习中随机森林的原理
2024-10-02 -
随机森林算法原理
2024-10-02 -
使用计算机视觉技术进行动物识别的技巧
2024-10-02 -
基于crf命名实体识别实验总结
2024-10-02 -
transformer预测模型训练方法
2024-10-02
最新文章
-
随机森林算法介绍及R语言实现
2024-10-02 -
基于随机森林优化的神经网络算法在冬小麦产量预测中的应用研究_百度文 ...
2024-10-02 -
基于正则化贪心森林算法的情感分析方法研究
2024-10-02 -
随机森林算法和grandientboosting算法
2024-10-02 -
基于随机森林的图像分类算法研究
2024-10-02 -
随机森林结合直接正交信号校正的模型传递方法
2024-10-02
发表评论