資源簡(jiǎn)介
自帶requests方式爬取驗(yàn)證碼,pillow做圖像處理提高識(shí)別率,tesseract識(shí)別驗(yàn)證碼。
代碼片段和文件信息
import?requests
import?random
from?PIL?import?Image
from?PIL?import?ImageEnhance
import?pytesseract
import?urllib.request
import?http.cookiejar
url?=?‘http://www.qfzls.com/onlinepay/Login.aspx?om=yssf‘??#?地址格式定義
imgurl?=?‘http://www.qfzls.com/onlinepay/yz.aspx‘
#?cookie?=?http.cookiejar.CookieJar()
#?cookieProc?=?urllib.request.HTTPCookieProcessor(cookie)
#?print(cookie?cookieProc)
#?opener?=?urllib.request.build_opener(cookieProc)
#?urllib.request.install_opener(opener)
#?html?=?urllib.request.urlopen(url).read().decode(“UTF8“)
#?response?=?requests.get(url)??#?請(qǐng)求獲取
#?response.encoding?=?‘utf8‘??#?請(qǐng)求轉(zhuǎn)碼
#?html?=?response.text??#?獲取網(wǎng)頁(yè)內(nèi)容
#?print(html)
filename?=?‘‘
for?j?in?range(1?9):
m?=?str(random.randrange(0?10))
filename?=?filename?+?m
filename?=?‘D:\\image\\‘+filename+‘.bmp‘??#?存成bmp格式
file?=?open(filename?‘a(chǎn)b‘)
r?=?requests.get(imgurl)
file.write(r.content)
file.close()
image?=?Image.open(filename)??#?filename為驗(yàn)證碼的路徑加文件名,若是放在項(xiàng)目里可以直接使用文件名調(diào)用
enh_bri?=?ImageEnhance.Brightness(image)??#?亮度增強(qiáng)
brightness?=?1.5
image?=?enh_bri.enhance(brightness)
enh_col?=?ImageEnhance.Color(image)??#?色度增強(qiáng)
color?=?1.5
image?=?enh_col.enhance(color)
enh_con?=?ImageEnhance.Contrast(image)??#?對(duì)比度增強(qiáng)
contrast?=?1.5
image?=?enh_con.enhance(contrast)
enh_sha?=?ImageEnhance.Sharpness(image)??#?銳度增強(qiáng)
sharpness?=?3.0
image?=?enh_sha.enhance(sharpness)
image.save(filename)
image.show()??#展示效果
scode?=?pytesseract.image_to_string(image)
im?=?Image.open(filename)
enhancer?=?ImageEnhance.Color(im)
enhancer?=?enhancer.enhance(0)
enhancer?=?ImageEnhance.Brightness(enhancer)
enhancer?=?enhancer.enhance(2)
enhancer?=?ImageEnhance.Contrast(enhancer)
enhancer?=?enhancer.enhance(8)
enhancer?=?ImageEnhance.Sharpness(enhancer)
im?=?enhancer.enhance(20)
print(pytesseract.image_to_string(im))
print(scode)
#?heade
評(píng)論
共有 條評(píng)論