本文是继前面爬取登录教务系统时,遇到验证码登录的遗留问题探讨!
思路: 下载登录教务系统时的图片,打开读取,人工识别,手动写入再结合账户登录。
#!/usr/bin/env python3
# -*- coding:utf-8 -*-
import requests # http客户端
import os # 创建文件夹
from PIL import Image
os.makedirs('./image/', exist_ok=True)
IMAGE_URL = "http://jwgl.cqjtu.edu.cn/jsxsd/verifycode.servlet?t=0.33489178693749055"
def request_download():
r = requests.get(IMAGE_URL)
with open('./image/img.png', 'wb') as f:
f.write(r.content)
try:
request_download()
print('download img')
im = Image.open('./image/img.png')
im.show()
except:
print('download img error!')
我们可以发现登录系统需要:
[a
:insert(写入)
+encode
:(base4加密的账户和密码)~ 附:base4解密教程讲解
+RANDOMCODE
:(验证码)]
大概思路如图
(输入账号、密码、读图识别二维码
–》加解密
–》request模拟登录
)