1、使用requests去下载验证码并保存在本地的方法。
# -*- coding: UTF-8 -*- import random import requests from contextlib import closing import time headers={ 'Accept': 'image/gif, image/jpeg, image/pjpeg, application/x-ms-application, application/xaml+xml, application/x-ms-xbap, */*', 'Cookie': '_gscu_1049835508=88254391xh6jjo12; _gscbrs_1049835508=1; Hm_lvt_9e03c161142422698f5b0d82bf699727=1488254392; Hm_lpvt_9e03c161142422698f5b0d82bf699727=1488254801; JSESSIONID=CFB1AAAD0EDF74A45EAF0D9F57AD6FDA', 'Accept-Language': 'zh-CN', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0; UBrowser/6.0.1471.813) like Gecko', 'Accept-Encoding': 'gzip, deflate', 'Host': 'shixin.court.gov.cn', 'Connection': 'Keep-Alive' } path='C:\\Users\\Administrator\\Desktop\\rainbow\\' url='http://shixin.court.gov.cn/captchaNew.do?captchaId=fac8fc397e624fb4a9286f19fcb19efd&random=0.7611455792023014.jpg' response=requests.get(url,headers=headers,stream=True) print '测试成功' for i in range(20000): time.sleep(2) with closing(requests.get(url,headers=headers,stream=True)) as response: with open(path+str(i)+'.tif','wb') as fd: for chunk in response.iter_content(128): fd.write(chunk)
如果不需要保存的话,直接打开请求得到的图片:
import requests from PIL import Image from StringIO import StringIO
session = requests.Session() image = session.get(code_url, headers=headers, stream=True, verify=False) i = Image.open(StringIO(image.content)) #直接打开 i.show() #进行ocr识别 string_code = pytesseract.image_to_string(i) print(string_code)