吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2844|回复: 11
收起左侧

[Python 转载] Python自学记录--百度api识别验证码,模拟登陆

[复制链接]
BoBuo 发表于 2021-10-5 16:14
之前看教程学习用超级鹰,根据论坛师兄们指点尝试用百度的智能识别,可以实现,但是成功率不高
零基础小白自学中,求指点!


目标网站:https://www.gushiwen.cn/
[Python] 纯文本查看 复制代码
#baidu-aip 智能识别验证码[/font][/font]
from aip import AipOcr
import requests
from lxml import etree
import time
 
""" 你的 APPID AK SK """
APP_ID = 'APP_ID'
API_KEY = 'API_KEY'
SECRET_KEY = 'SECRET_KEY'

#识别验证码图片
def tranformImgCode(imgPath):
    client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
    im = open(imgPath, 'rb').read()
    return client.basicGeneral(im)["words_result"][0]["words"] #取验证码

t = int(round(time.time() * 1000)) #时间戳

session = requests.Session() #维持会话,可以让我们在跨请求时保存某些参数

headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36'}

#获取验证码图片
url = 'https://so.gushiwen.cn/user/login.aspx?from=http://so.gushiwen.cn/user/collect.aspx' #登陆地址

page_text = session.get(url=url,headers=headers).text #获取登陆地址内容

#解析验证码图片地址
tree = etree.HTML(page_text)
img_src = 'https://so.gushiwen.cn'+tree.xpath('//img[@id="imgCode"]/@src')[0]+'?t='+str(t) 

VIEWSTATE = tree.xpath('//*[@id="__VIEWSTATE"]/@value')
VIEWSTATEGENERATOR = tree.xpath('//*[@id="__VIEWSTATEGENERATOR"]/@value') #动态数据

#将验证码保存到本地
img_data= session.get(img_src,headers=headers).content

with open(r'D:\代码保存\a.jpg','wb') as fp:
    fp.write(img_data)

#识别验证码
code_text = tranformImgCode(r'D:\代码保存\a.jpg')
print(code_text)

login_url = 'https://so.gushiwen.cn/user/login.aspx?from=http%3a%2f%2fso.gushiwen.cn%2fuser%2fcollect.aspx'

data = {
    '__VIEWSTATE': VIEWSTATE,
    '__VIEWSTATEGENERATOR': VIEWSTATEGENERATOR,  
    'from': 'http://so.gushiwen.cn/user/collect.aspx',
    'email': '网页账号',
    'pwd': '网页密码',
    'code': code_text,
    'denglu': '登录',
}

#点击登陆按钮发起请求,获取了登陆成功后对应的页码源码数据
page_text_login = session.post(url=login_url,headers=headers,data=data).text

#保存网页
with open(r'D:\代码保存\gushiwen.html','w',encoding='utf-8') as fp:
    fp.write(page_text_login)

免费评分

参与人数 6吾爱币 +10 热心值 +6 收起 理由
Pwaerm + 1 + 1 用心讨论,共获提升!
paguco + 1 热心回复!
glz220 + 1 用心讨论,共获提升!
Zeaf + 1 + 1 用心讨论,共获提升!
苏紫方璇 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
Lovehacker技术 + 1 + 1 第一我要了

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

Pwaerm 发表于 2021-10-6 05:43
BoBuo 发表于 2021-10-5 22:01
嗯嗯   师兄  你那个帖子我学习一下

我在版里找到一个调用32位dll的 源码。但是我是64位的环境,没有实验成功。等上班了  到虚拟机里面试试看。

还有一个叫啥子 智慧星的 识别率几乎是100%
但是电脑老是报  特洛伊木马   
我都不敢分享上来了
隔壁家的王二狗 发表于 2021-10-5 20:32
BoBuo 发表于 2021-10-5 17:32
谢谢师兄指点  原来还有高精度版的

高精度也是免费的就是比普通的慢点 但是这样的api 都有个问题 不是专门处理验证码的 所以对于那些字母比较歪的 就识别不出来
人云亦云yi 发表于 2021-10-5 17:26
 楼主| BoBuo 发表于 2021-10-5 17:28
人云亦云yi 发表于 2021-10-5 17:26
basicGeneral换成basicAccurate精度就高了呀

哦? 我去看看  谢谢
 楼主| BoBuo 发表于 2021-10-5 17:32
人云亦云yi 发表于 2021-10-5 17:26
basicGeneral换成basicAccurate精度就高了呀

谢谢师兄指点  原来还有高精度版的
魔皇神佛鲨 发表于 2021-10-5 17:38
学习了!
三滑稽甲苯 发表于 2021-10-5 20:45
推荐一个本地的验证码识别库:ddddocr
 楼主| BoBuo 发表于 2021-10-5 21:49
三滑稽甲苯 发表于 2021-10-5 20:45
推荐一个本地的验证码识别库:ddddocr

谢谢大哥
Pwaerm 发表于 2021-10-5 21:55
超级鹰有点贵
图鉴便宜些
版里也有很多免费的识别库  精度不错
 楼主| BoBuo 发表于 2021-10-5 22:01
Pwaerm 发表于 2021-10-5 21:55
超级鹰有点贵
图鉴便宜些
版里也有很多免费的识别库  精度不错

嗯嗯   师兄  你那个帖子我学习一下
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 01:02

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表