获取图片
某验证码API:
https://login.anjuke.com/general/captcha?timestamp=15580192349965467
def get_patch(start,end):
"""
抓取图片验证码
start:起始编号
end:结束编号
"""
#创建目录
if not os.path.exists('./pics'):
os.mkdir('./pics')
for i in range(start,end):
#产生时间戳
ts = int(time.time()*1000)
#格式化url
url = URL.format(ts)
print("current url:",url)
#发请求
res = requests.get(url,headers=HEADERS)
#构造filename
filename = os.path.join("./pics",str(i+1)+".jpg")
#存储
with open(filename,"wb") as f:
f.write(res.content)
#有反爬
#1.代理ip
#2.Cookie
#3.延时
time.sleep(random.uniform(2,5))
图片的二值化
为了便于识别,图片二值化处理
from PIL import Image
im = Image.open("xxx.jpg")
img = im.convert("L")
#方式一
from sklearn.preprocessing import Binarizer
import numpy as np
b = Binarizer(threshold=200)
#二值化
img_data = np.array(img.getdata()).reshape(img.height,img.width)
r = b.fit_transform(img_data) #完成 二值化
#方式二
#定义一个 颜色的查找表 256 个值
table = []
for i in range(256):
if i<200:
table.append(0)
else:
table.append(1)
#二值化处理
r = img.point(table,"1")