先在網上擷取一張驗證碼:
from pil import image
import pytesseract
im = image.
open
("1.png"
)img = im.convert(
"l")
#轉換為灰度圖
w,h = img.size
piaxdata = img.load(
)for x in
range
(h):
#將點分為白色或黑色
for y in
range
(w):
if piaxdata[y,x]
<
190:
piaxdata[y,x]=0
else
: piaxdata[y,x]
=255
#255是白色
#通過對每個畫素的周圍8個點就行辨認,來確定是否為干擾的點
for y in
range(1
,w-1):
if piaxdata[y,x]==0
: bak_num =
0for i in
range(-
1,2)
:for j in
range(-
1,2)
:if piaxdata[y+i,x+j]
==255
:#有空白的點然後加一空白點
bak_num +=
1if bak_num>=5:
#如果空白的點大於等於5(不同情況不一樣),則該點為干擾點
piaxdata[y,x]
=255
#將該點改為白色
#pytesseract.pytesseract.tesseract_cmd = r"d:\tesser(python)\tesseract.exe" # 設定pyteseract路徑
result = pytesseract.image_to_string(img)
# 轉文字
print
(result)
網頁登陸驗證碼
原理 生成乙個,並且儲存中顯示的字元到session.在登陸時判斷輸入的校驗碼是否和session中校驗碼相同.這是生成校驗碼和的檔案checknumber.php session start if act init 使用方法 在html檔案中加入 number 是你輸入的校驗碼的值 include...
PHP實現登陸驗證碼
使用php實現登入驗證碼原理 生成乙個,並且儲存中顯示的字元到session.在登陸時判斷輸入的校驗碼是否和session中校驗碼相同.以下是生成校驗碼和的檔案checknumber.php session start if act init 使用方法 在html檔案中加入 在登陸校驗php頁面中加...
python 爬蟲(7) 驗證碼登陸 12306
登陸乙個介面需要使用者名稱 密碼 還有驗證碼。驗證碼的辨識,一般都是第三方,且需要付費的。比如雲打碼,打碼兔,超級鷹。12306用的是超級鷹。得到驗證碼 1.訪問網頁 3.儲存到本地 4.識別驗證碼 得到字串或者數字 from lxml import etree import requests he...