盘点一个ddddocr实现登录的实战案例
大家好,我是皮皮。
一、前言
前几天在Python白银交流群【空翼】问了一个Pyhton
网络爬虫的问题,这里拿出来给大家分享下。
二、实现过程
一开始看上去并不能登录,找不到原因在哪,后来【甯同学】帮忙搞定了,代码如下:
# -*- coding: utf-8 -*-
# @Author : KongYi
# @Time : 2022/12/3 13:49
import hashlib
import re
import requests
import ddddocr
baseurl = 'http://zhjw.scu.edu.cn/login'
session = requests.Session()
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36',
}
res = session.get(url=baseurl, headers=headers)
token = re.findall('<input type="hidden" id="tokenValue" name="tokenValue" value="(.*?)">', res.text)[0]
print(token)
res = session.get('http://zhjw.scu.edu.cn/img/captcha.jpg')
with open('captcha.jpg', 'wb') as f:
f.write(res.content)
f.close()
ocr = ddddocr.DdddOcr()
with open('captcha.jpg', 'rb') as f:
img_bytes = f.read()
captcha_text = ocr.classification(img_bytes)
print(captcha_text)
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36'
}
m = hashlib.md5()
m.update('Chenxiao12345!'.encode())
ctx = m.hexdigest()
print(ctx)
login_url = 'http://zhjw.scu.edu.cn/j_spring_security_check'
data = {
'tokenValue': token,
'j_username': '2020141410129',
'j_password': ctx,
'j_captcha': captcha_text
}
res = session.post(url=login_url, data=data, headers=headers)
jsonurl = 'http://zhjw.scu.edu.cn/'
res = session.post(url=jsonurl, headers=headers)
print(res.text)
代码运行之后,顺利地实现了网页登录。
顺利地解决了问题。
三、总结
大家好,我是皮皮。这篇文章主要盘点了一个Pyhton
网络爬虫的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。
最后感谢粉丝【空翼】提问,感谢【甯同学】给出的思路和代码解析,感谢【Python狗】等人参与学习交流。