Python爬虫学习(十一)下载验证码图片

by admin公益副本

Python爬虫学习(十一)下载验证码图片

本文是继前面爬取登录教务系统时,遇到验证码登录的遗留问题探讨!

思路: 下载登录教务系统时的图片,打开读取,人工识别,手动写入再结合账户登录。

目录

一、获取验证码图片二、带验证码图片的request模拟登录1、分析2、模拟登陆3、验证结果

一、获取验证码图片

进入 教务系统 找到验证码位置:http://jwgl.cqjtu.edu.cn/jsxsd/verifycode.servlet?t=0.33489178693749055 (每次点击都会自动更新) 我们目标是下载图片,如图: 源码:

#!/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!')

二、带验证码图片的request模拟登录

1、分析

我们可以发现登录系统需要: [a:insert(写入) +encode:(base4加密的账户和密码)~ 附:base4解密教程讲解 +RANDOMCODE:(验证码)]

2、模拟登陆

大概思路如图 (输入账号、密码、读图识别二维码–》加解密–》request模拟登录)

3、验证结果

登录效果达到,但验证码还是有问题,现在效果如图: 就是我们常遇到的界面: 解决方法探索中~

Read More