python模拟登录注册知网
生活随笔
收集整理的這篇文章主要介紹了
python模拟登录注册知网
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1.驗(yàn)證碼類型
知網(wǎng)注冊(cè)頁(yè)的驗(yàn)證碼類型屬于常見四位英文和數(shù)字組成的驗(yàn)證碼。可以在超級(jí)鷹的?驗(yàn)證碼類型于價(jià)格表?頁(yè)面參考。
2.Python識(shí)別庫(kù) - tesserocr、pytesseract
這兩個(gè)第三方庫(kù)識(shí)別精度均較差, 字體略微差異可能就不是正常結(jié)果。所以選擇超級(jí)鷹識(shí)別,識(shí)別前可做灰度、二值化處理(我這里做了注釋選擇不用,感覺(jué)平臺(tái)打碼精度挺高的),代碼如下:
''' 想要學(xué)習(xí)Python?Python學(xué)習(xí)交流群:984632579滿足你的需求,資料都已經(jīng)上傳群文件,可以自行下載! ''' def handle_code(image):"""處理驗(yàn)證碼:param image: Image對(duì)象:return:"""# 灰度處理image = image.convert("L")# 閾值120(可靈活配置)threshold = 120table = []for i in range(256): #if i < threshold:table.append(0)else:table.append(1)# 二值化處理image = image.point(table, '1')# 使用tesserocr獲取處理結(jié)果result_1 = tesserocr.image_to_text(image).strip()# 使用pytesseract獲取處理結(jié)果result_2 = pytesseract.image_to_string(image).strip() # print('驗(yàn)證碼為:', result)# 兩者識(shí)別結(jié)果相同再繼續(xù)程序,否則循環(huán)識(shí)別。但是代價(jià)很大,所以棄用。return result_1, result_2?
總結(jié)
以上是生活随笔為你收集整理的python模拟登录注册知网的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 鸭子表练习
- 下一篇: python-matplotlib制作图