现在有很多验证码图片获取后都是乱序的需要重组,webdriver截图是一个很方便的处理方式,但是webdriver过于占用内存,故提供一个重组的方式,现已前程无忧为例,记录一下解决方案,大体思路可以分为以下几个步骤:获取原始验证码图片----->获取css偏移量数组---->新建空白图片文件---->按顺序根据css偏移量和验证码图片尺寸抠图并粘贴到空白文件。
验证码的html源码如下:
可以看到验证码图片为一个个的小图片拼接而成。
首先获取原始验证码图片,上图红框中的url即为原始验证码图片
import requests
from PIL import Image
def get_captcha(url):
session = requests.Session()
session.headers = {
'Host': 'ehire.51job.com',
'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:61.0) Gecko/20100101 Firefox/61.0',
'Accept': '*/*',
'Accept-Language': 'zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2&#