盘点一个ddddocr实现登录的实战案例

Python进阶者
• 阅读 259

大家好,我是皮皮。

一、前言

前几天在Python白银交流群【空翼】问了一个Pyhton网络爬虫的问题,这里拿出来给大家分享下。

盘点一个ddddocr实现登录的实战案例

二、实现过程

一开始看上去并不能登录,找不到原因在哪,后来【甯同学】帮忙搞定了,代码如下:

# -*- 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)

代码运行之后,顺利地实现了网页登录。

盘点一个ddddocr实现登录的实战案例

顺利地解决了问题。

盘点一个ddddocr实现登录的实战案例

三、总结

大家好,我是皮皮。这篇文章主要盘点了一个Pyhton网络爬虫的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。

最后感谢粉丝【空翼】提问,感谢【甯同学】给出的思路和代码解析,感谢【Python狗】等人参与学习交流。

点赞
收藏
评论区
推荐文章
Python进阶者 Python进阶者
1年前
Python中的这个super这行是啥意思啊?
大家好,我是皮皮。一、前言前几天在Python白银交流群【Ming】问了一个Python基础的问题,这里拿出来给大家分享下。二、实现过程这里【carpediem】给了一个思路,如下图所示:自动寻找父类的所有方法跟属性,具体如下:三、总结大家好,我是皮皮。这
Python进阶者 Python进阶者
11个月前
matplotlib这个图横坐标上的文本如何调整为竖着显示呢?
大家好,我是皮皮。一、前言前几天在Python白银交流群【知足】问了一个matplotlib处理的问题,这里拿出来给大家分享下。二、实现过程这里【甯同学】给了一个解决思路,直接plt.xticks(rotation270),如下图所示:顺利地解决了粉丝的问
Python进阶者 Python进阶者
1年前
大佬们,这个导包怎么写呀?本地执行可以,Linux执行报错
大家好,我是皮皮。一、前言前几天在Python最强白银交流群【喜靓仔】问了一个Python路径处理的问题,这里拿出来给大家分享下。下图是他的代码:二、实现过程这里【小王子】给了一个答案,如下所示:代码如下:fromsysimportpathpath.ins
Python进阶者 Python进阶者
10个月前
我在比较时序数据时,程序报错说数据标签有问题
大家好,我是皮皮。一、前言前几天在Python白银群【黑白人生】问了一个Pandas数据处理的问题,这里拿出来给大家分享下。截图如下图所示:数据截图如下所示:二、实现过程这里【论草莓如何成为冻干莓】给了一个思路,如下所示:看上去还是有点深奥的。后来【瑜亮老
Python进阶者 Python进阶者
8个月前
盘点一个Python网络爬虫抓取股票代码问题(下篇)
大家好,我是皮皮。一、前言前几天在Python白银群【厚德载物】问了一个Python网络爬虫的问题,这里拿出来给大家分享下。二、实现过程这个问题其实for循环就可以搞定了,看上去粉丝的代码没有带请求头那些,导致获取不到数据。后来【瑜亮老师】、【小王子】给了
Python进阶者 Python进阶者
1年前
有大佬知道这是为什么嘛?路径和文件名都没错呀
大家好,我是皮皮。一、前言前几天在Python白银交流群【笑】问了一个Python文件处理的问题,这里拿出来给大家分享下。二、实现过程这里【空翼】指出是路径错了的问题,其实报错也非常明显了。只需要把前面那个topminesrc去掉即可。顺利地解决了粉丝的问
Python进阶者 Python进阶者
2个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这
Python进阶者 Python进阶者
1年前
盘点一个使用playwright实现网络爬虫的实战案例
大家好,我是皮皮。一、前言前几天在Python白银交流群【空翼】问了一个Pyhton网络爬虫的问题,这里拿出来给大家分享下。二、实现过程【喜靓仔】提出用playwright实现,后来他自己给出了代码,如下图所示:代码如下:fromplaywright.sy
Python进阶者 Python进阶者
10个月前
尝试安装包的时候遇到的这样的错误,然后我尝试更新pip发现几乎报了同样的错,如何解决?
大家好,我是皮皮。一、前言前几天在Python白银群【黑白人生】问了一个Python基础的问题,这里拿出来给大家分享下。二、实现过程这里【ChatGPT】给出了一个思路,如下所示:开代理可能会影响Python库安装,原因如下:1.代理可能会阻止Python
Python进阶者 Python进阶者
8个月前
盘点一个Python网络爬虫抓取股票代码问题(上篇)
大家好,我是皮皮。一、前言前几天在Python白银群【厚德载物】问了一个Python网络爬虫的问题,这里拿出来给大家分享下。二、实现过程这个问题其实for循环就可以搞定了,看上去粉丝的代码没有带请求头那些,导致获取不到数据。后来【瑜亮老师】、【小王子】给了