資源簡介
自帶requests方式爬取驗證碼,pillow做圖像處理提高識別率,tesseract識別驗證碼。
代碼片段和文件信息
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)??#?請求獲取
#?response.encoding?=?‘utf8‘??#?請求轉碼
#?html?=?response.text??#?獲取網頁內容
#?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?‘ab‘)
r?=?requests.get(imgurl)
file.write(r.content)
file.close()
image?=?Image.open(filename)??#?filename為驗證碼的路徑加文件名,若是放在項目里可以直接使用文件名調用
enh_bri?=?ImageEnhance.Brightness(image)??#?亮度增強
brightness?=?1.5
image?=?enh_bri.enhance(brightness)
enh_col?=?ImageEnhance.Color(image)??#?色度增強
color?=?1.5
image?=?enh_col.enhance(color)
enh_con?=?ImageEnhance.Contrast(image)??#?對比度增強
contrast?=?1.5
image?=?enh_con.enhance(contrast)
enh_sha?=?ImageEnhance.Sharpness(image)??#?銳度增強
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
- 上一篇:使用支持向量機將二維數據三維化劃分
- 下一篇:遺傳算法python
評論
共有 條評論