當前位置:首頁 » 網頁前端 » 腳本如何抓取驗證碼
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

腳本如何抓取驗證碼

發布時間: 2022-12-28 23:08:42

㈠ 按鍵精靈腳本中如何自動識別並輸入驗證碼

驗證碼是圖片,畫的東倒西歪的,還有重疊的,有的人都不認識,軟體怎麼會認識呢?可以僱人填驗證碼,這是你不用自己動手的唯一選擇,任何人說他能用軟體做到自動填都是吹

㈡ 使用python來寫腳本,如何來處理驗證碼的問題,每次登錄時驗證碼都不同,求高人幫忙,謝謝

如果是想讓代碼識別的話,要看驗證碼的復雜程度了,如果比較簡單,使用圖像處理說不定可以解決(我不會,不過網上應該有資料,就算沒有python的,其他語言的也有),但是如果是復雜的,建議你把驗證碼下載下來,如果有圖形界面,就在界面中顯示,如果沒有,就下到一個目錄里,自己取找,然後人工識別吧。

㈢ 用js如何獲取驗證碼的值

驗證碼在我們的後台代碼生成,也就是在java代碼里生成。然後在頁面上顯示出來,當用戶輸入驗證碼後再檢驗用戶輸入的驗證碼是否和後台生成的驗證碼相同,比較的時候可以通過ajax去比較,堅決反對用個隱藏域來保存後台生成的驗證碼,因為這樣很容易被攻擊

㈣ 怎麼用按鍵精靈腳本識別驗證碼里的數字(0~9)並同時輸入

簡單的辦法是,把圖分成五個區域來依次識別,畢竟你這個數字的字體是固定的
存好0-9的單數字圖片,找圖就可以了
另外是
把各數字的特徵點找出來,只要查到某點有白色,就可以判斷為該數字,這個你要先把每個數字的特徵點找到,放到畫筆裡面開大像素,慢慢找
說明:特徵點--每個數字都可以看成是5X8的黑白點組成的,每個數字都有一個白點是其它數字在這個位置上沒有的,只要找到這個白點,就是這個數字,指向性強,不易誤判

㈤ loadrunner11錄制腳本關於驗證碼處理怎麼解決

為了測試方便,節省時間;
像這種網站有驗證碼情況,LR要進行壓測的話,通常有幾種方法;
1、通過調用含有驗證碼識別的方法dll;
2、與服務端開發商議指定一個萬能的驗證碼;(有安全隱患)
3、與開發商議暫時屏蔽驗證碼功能;
第1種方法很費時間;第2種方法開發上線後要注意;第3種方法最簡單;

㈥ java怎麼抓取到網頁上的驗證碼,比如12306的驗證碼,怎麼爬到驗證碼圖片並下載到本地。

利用http載入網頁,解析驗證碼的地址,獲取圖片,下載到本地即可

㈦ 如何利用Python做簡單的驗證碼識別

先是獲取驗證碼樣本。。。我存了大概500個。
用dia測了測每個字之間的間距,直接用PIL開始切。
from PIL import Image
for j in range(0,500):
f=Image.open("../test{}.jpg".format(j))
for i in range(0,4):
f.crop((20+20*i,0,40+20*i,40)).save("test{0}-{1}.jpg".format(j,i+1))

上面一段腳本的意思是把jpg切成四個小塊然後保存
之後就是二值化啦。
def TotallyShit(im):
x,y=im.size
mmltilist=list()
for i in range(x):
for j in range(y):
if im.getpixel((i,j))<200:
mmltilist.append(1)
else:
mmltilist.append(0)
return mmltilist

咳咳,不要在意函數的名字。上面的一段代碼的意思是遍歷圖片的每個像素點,顏色數值小於200的用1表示,其他的用0表示。
其中的im代表的是Image.open()類型。
切好的圖片長這樣的。
只能說這樣切的圖片還是很粗糙,很僵硬。
下面就是分類啦。
把0-9,「+」,」-「的圖片挑好並放在不同的文件夾裡面,這里就是純體力活了。
再之後就是模型建立了。
這里我試了自己寫的還有sklearn svm和sklearn neural_network。發現最後一個的識別正確率高的多。不知道是不是我樣本問題QAQ。
下面是模型建立的代碼
from sklearn.neural_network import MLPClassifier
import numpy as np
def clf():
clf=MLPClassifier()
mmltilist=list()
X=list()
for i in range(0,12):
for j in os.listdir("douplings/douplings-{}".format(i)):
mmltilist.append(TotallyShit(Image.open("douplings/douplings-{0}/{1}".format(i,j)).convert("L")))
X.append(i)
clf.fit(mmltilist,X)
return clf

大概的意思是從圖片源中讀取圖片和label然後放到模型中去跑吧。
之後便是圖像匹配啦。
def get_captcha(self):
with open("test.jpg","wb") as f:
f.write(self.session.get(self.live_captcha_url).content)
gim=Image.open("test.jpg").convert("L")
recognize_list=list()
for i in range(0,4):
part=TotallyShit(gim.crop((20+20*i,0,40+20*i,40)))
np_part_array=np.array(part).reshape(1,-1)
predict_num=int(self.clf.predict(np_part_array)[0])
if predict_num==11:
recognize_list.append("+")
elif predict_num==10:
recognize_list.append("-")
else:
recognize_list.append(str(predict_num))
return ''.join(recognize_list)

最後eval一下識別出來的字元串就得出結果了。。
順便提一句現在的bilibili登陸改成rsa加密了,麻蛋,以前的腳本全部作廢,心好痛。
登陸的代碼。
import time
import requests
import rsa
r=requests.session()
data=r.get("act=getkey&_="+str(int(time.time()*1000))).json()
pub_key=rsa.PublicKey.load_pkcs1_openssl_pem(data['key'])
payload = {
'keep': 1,
'captcha': '',
'userid': "youruserid",
'pwd': b64encode(rsa.encrypt((data['hash'] +"yourpassword").encode(), pub_key)).decode(),
}
r.post("",data=payload)

㈧ 如何截取簡訊驗證碼

1、首先打開手機,點擊下方的信息按鈕。
2、其次選擇相關的簡訊,點擊進入。
3、最後長按簡訊,點擊截取簡訊驗證碼按鈕即可。

㈨ 如何利用Python做簡單的驗證碼識別

最近在折騰驗證碼識別。最終的腳本的識別率在92%左右,9000張驗證碼大概能識別出八千三四百張左右。好吧,其實是驗證碼太簡單。下面就是要識別的驗證碼。

接下來對圖片進行分割。遍歷圖片中所有像素點,計算每一列像素為0的點的個數(jd)。對於相鄰兩列,若其中一列jd=0,而另一列jd!=0,則可以認為這一列是驗證碼中字元邊界,由此對驗證碼進行分割。這樣分割能達到比較好的效果,分割後得到的字元圖片幾乎能與模板完全相同。

(Width,Height) = img2.size
pix2 = img2.load()
x0 = []
y0 = []for x in range(1,Width):
jd = 0
# print x
for y in range(1,Height): # print y
if pix2[x,y] == 0:
jd+=1
y0.append(jd) if jd > 0:
x0.append(x)#分別對各個字元邊界進行判斷,這里只舉出一個 for a in range(1,Width): if (y0[a] != 0)&(y0[a+1] != 0):
sta1 = a+1

分割完成後,對於識別,目前有幾種方法。可以遍歷圖片的每一個像素點,獲取像素值,得到一個字元串,將該字元串與模板的字元串進行比較,計算漢明距離或者編輯距離(即兩個字元串的差異度),可用Python-Levenshtein庫來實現。

我採用的是比較特徵向量來進行識別的。首先設定了4個豎直特徵向量,分別計算第0、2、4、6列每一列像素值為0的點的個數,與模板進行比較,若小於閾值則認為該字元與模板相同。為了提高識別率,如果通過豎直特徵向量未能識別成功,引入水平特徵向量繼續識別,原理與豎直特徵向量相同。

另外,還可以通過局部特徵進行識別。這對於加入了旋轉干擾的驗證碼有很好效果。由於我寫的腳本識別率已經達到了要求,所以並沒有用到這個。

最後的結果是這樣的:

最終在模板庫只有25條的情況下,識別率在92%左右(總共測試了一萬六千張驗證碼)。好吧,只能說驗證碼太簡單。。

以上。

㈩ 在dreamweaver里怎麼用js腳本編寫驗證碼並在文本框里獲取驗證碼值

用DOM對象。驗證碼的腳本可以網上搜