是的,沒錯,就是標題黨,最近裝修噪音太吵了打算搬家,所以我又來了(瘋狂暗示),我覺得你們可能有需要,所以我又搬運了驗證碼爬蟲框架以及正確的樣本採集方法。
約一千五百多萬高質量樣本,說不定有一種就是你正遇到的。
分類示例:
提取碼:qdts
一般的驗證碼獲取流程分為三大步驟
前置請求, 獲取驗證碼相關引數
驗證碼請求, 獲取驗證碼
校驗請求, 通過官網判定驗證碼是否正確
通過繼承 project 類實現具體的流程utils.project
def before_process()-> dict
, 返回其他流程需要的引數字典, 通過self.before_params
訪問
def captcha_process() -> tuple[bytes, str]
, 返回驗證碼bytes和識別後的內容
def feedback_process() -> bool
, 返回驗證碼反饋情況,是否正確
,"lianzhong":,
"target_dir"
:"d:/samples"
}
編寫流程:
補充const.json
在spiders包下面新建自己的爬蟲可以參考demo.py
其中spiders/demo.py是採集某度貼吧的驗證碼例子:
定義自己的類
"""def__init__
(self)
:super()
.__init__(
)# 選擇識別服務 [muggleocr, baiduocr, lianzhong]
self.service_type = servicetype.muggleocr
# 聯眾的驗證碼型別
self.captcha_type =
"1105"
# 前置頁面 (驗證碼出現的頁面,用於獲取相關引數)
self.before_url =
""# 驗證碼頁面 用於獲取驗證碼
self.captcha_url =
""# 提交頁面 用於校驗驗證碼是否準確
self.feedback_url =
""defbefore_process
(self, retry=0)
->
dict
:"""
前置頁面,獲取驗證碼需要 captcha_vcode_str 引數,return 引數字典提供後面流程呼叫
:param retry: 重試計數
:return: 引數字典
"""payload =
r = self.session.post(
"", data=payload)
resp = r.text
resp_json:
dict
= json.loads(resp)
if'captcha_vcode_str'
in resp_json.keys():
captcha_vcode_str = resp_json.get(
'captcha_vcode_str'
)return
else
(resp_json)
return
defcaptcha_process
(self)
-> tuple[
bytes
,str]:
""" :return: 返回兩個引數:驗證碼bytes內容, 返回驗證碼標籤
"""ifnot self.before_params.get(
'captcha_vcode_str'):
raise valueerror(
'captcha_vcode_str is miss'
) captcha_bytes = self.session.get(
self.captcha_url +
"?{}"
.format
(self.before_params[
'captcha_vcode_str'])
).content
captcha_text = self.platform.request(captcha_bytes)
return captcha_bytes, captcha_text
deffeedback_process
(self, captcha_text:
str)
->
bool
:"""
:param captcha_text: 驗證碼識別結果
:return: 返回驗證狀態 [驗證碼正確, 驗證碼錯誤]
"""ifnot captcha_text:
return
false
iflen
(captcha_text)!=4
:return
false
ifnot self.before_params[
'captcha_vcode_str']:
raise valueerror(
'miss captcha_vcode_str'
) payload =
r = self.session.post(self.feedback_url, data=payload)
if''
in r.text:
return
true
else
: r.encoding =
"gbk"
(r.text)
return
false
if __name__ ==
'__main__'
:pass
上面的採集框架原始碼:筆者採集了19w,輕鬆訓練到97.8%識別率,使用的訓練框架是:介紹的框架。
使用到的採集框架的原始碼:
激勵自我 年薪50w
一。要求 技術方面 1.架構師起步,能在專案裡搭建各種元件 2.專案裡的 架構元件遇到問題時,能通過debug檢視源 的方式解決實際問題。3.能編寫linux發布指令碼,能在linux 搭建基於spring boot 或tomact等專案,一旦專案出現問題,能通過檢視日誌快速定位和分析問題。4.至少...
主流手機價格1500元 中國就真正進入3G時代了
主流手機 1500元 中國就真正進入3g時代了 樂phone是一部好手機,這是無疑的,拿了這部手機,在飛機上 路上不止一次被人問,這手機不錯,是什麼手機?前段在清華大學 未來傳媒領導研究班 講課,演示3g業務,也用的是這部手機,大家的評價總體都是不錯的,這些人都是傳媒的領導,對於手機要求都是很高階的...
100g光模組廠家排名 50G光模組在5G中的應用
目前,5g已經開啟商業化程序,但複雜的承載方案導致對應的承載光模組種類也隨之增加。對5g前傳而言,在速率方面,aau在引入ecpri協議標準後,前傳25g速率已經成為各裝置廠家的標準,也正因如此,承載網路的速率會根據各層的收斂比來考慮速率標準,最後得出中傳用50g速率的光模組是最具價效比的選擇。至於...