最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python自動化實現(xiàn)登錄獲取圖片驗證碼功能

 更新時間:2019年11月20日 15:12:16   作者:一枚銅硬幣  
這篇文章主要介紹了python自動化實現(xiàn)登錄獲取圖片驗證碼功能,本文通過實例截圖的形式給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下

主要記錄一下:圖片驗證碼

1.獲取登錄界面的圖片

2.獲取驗證碼位置

3.在登錄頁面截取驗證碼保存

4.調(diào)用百度api識別(目前準(zhǔn)確率較高的識別圖片api)

本次登錄的系統(tǒng)頁面,可以看到圖片驗證碼的位置

登錄頁面

from selenium import webdriver
import time
from PIL import Image
base_url = '***********'
browser = webdriver.Chrome()
browser.maximize_window()
browser.implicitly_wait(10)
browser.get(base_url)
# (1)登錄頁面截圖
browser.save_screenshot("D:/pic.png")#可以修改保存地址
# (2)基操
browser.find_element_by_name("username").send_keys("gxx")
browser.find_element_by_name("password").send_keys("123456")
time.sleep(2)
# (3)獲取圖片驗證碼坐標(biāo)
code_ele = browser.find_element_by_xpath("http://*[@id='app']/div/div[1]/form/div[3]/div/div/div[2]/div/img")
print("驗證碼的坐標(biāo)為:", code_element.location)#控制臺查看{'x': 1086, 'y': 368}
print("驗證碼的大小為:", code_element.size)# 圖片大小{'height': 40, 'width': 110}
# (4)圖片4個點的坐標(biāo)位置
left = code_ele.location['x']#x點的坐標(biāo)
top = code_ele.location['y']#y點的坐標(biāo)
right = code_ele.size['width']+left#上面右邊點的坐標(biāo)
down = code_ele.size['height']+top#下面右邊點的坐標(biāo)
image = Image.open('D:/pic.png')
# (4)將圖片驗證碼截取
code_image = image.crop((left, top, right, height))
code_image.save('D:/pic1.png')#截取的驗證碼圖片保存為新的文件

上面我們已經(jīng)把圖片保存到本地

這就是我們截取的驗證碼

在這里插入圖片描述

接下來要調(diào)用 百度ocr識別

鏈接: https://ai.baidu.com/docs#/

然后可以選擇通用文字識別或者 高精度版本,這個 看個人選擇,不過驗證碼識別還是選擇高精度 版本(也不一定識別的出來 大家還是佛吧,測試的時候讓開發(fā)把驗證碼去掉嘻嘻)
自己去申請一個百度云賬號,然后開通文字識別服務(wù)…就醬
新建一個py文件

#百度ocr提供了模板,我們直接復(fù)制就ok
#下載通用文字識別的python sdk,一定要放在你寫的代碼的文件夾下面
from aip import AipOcr 
from os import path
def baiduOCR(picfile,outfile):#picfile:圖片文件名 outfile:輸出文件
  filename = path.basename(picfile)#圖片名稱
  #百度提供
  """ 你的 APPID AK SK """
  APP_ID = ''#這是你產(chǎn)品服務(wù)的appid
  API_KEY = ''#這是你產(chǎn)品服務(wù)的appkey
  SECRET_KEY = ''#這是你產(chǎn)品服務(wù)的secretkey
  client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
  i = open(picfile, 'rb')
  img = i.read()

  print("正在識別圖片:\t" + filename)
  """ 調(diào)用通用文字識別(高精度版) """
  message = client.basicAccurate(img)
  print("識別成功!")
  i.close()
  with open(outfile, 'a+') as fo:#這邊是寫進.txt文件
    fo.writelines("*" * 60 + '\n')#搞點花里胡哨的做區(qū)分
    fo.writelines("識別圖片:\t" + filename + "\n" * 2)
    fo.writelines("文本內(nèi)容:\n")
    # 輸出文本內(nèi)容
    for text in message.get('words_result'):#識別的內(nèi)容 
      fo.writelines(text.get('words') + '\n')
    fo.writelines('\n' * 2)
  print("文本導(dǎo)出成功!")
  print()

if __name__ == '__main__' :
  outfile = 'D:/export1.txt'#保存的文件
  baiduOCR('D:/pic1.png', outfile)
  print('圖片文本提取結(jié)束!文本輸出結(jié)果位于 %s 文件中。' % outfile)

在這里插入圖片描述

這樣就識別出來 了,這個能識別正確我也是驚訝了
畢竟之前好多次都 識別的不準(zhǔn)確
好!這樣 驗證碼就識別出來 惹,然后把識別的內(nèi)容輸進框子里,點擊登錄就ok

總結(jié)

以上所述是小編給大家介紹的python自動化實現(xiàn)登錄獲取圖片驗證碼功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

相關(guān)文章

  • Numpy(Pandas)刪除全為零的列的方法

    Numpy(Pandas)刪除全為零的列的方法

    這篇文章主要介紹了Numpy(Pandas)刪除全為零的列的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • YOLOv5目標(biāo)檢測之a(chǎn)nchor設(shè)定

    YOLOv5目標(biāo)檢測之a(chǎn)nchor設(shè)定

    在訓(xùn)練yolo網(wǎng)絡(luò)檢測目標(biāo)時,需要根據(jù)待檢測目標(biāo)的位置大小分布情況對anchor進行調(diào)整,使其檢測效果盡可能提高,下面這篇文章主要給大家介紹了關(guān)于YOLOv5目標(biāo)檢測之a(chǎn)nchor設(shè)定的相關(guān)資料,需要的朋友可以參考下
    2022-05-05
  • Python3爬蟲學(xué)習(xí)入門教程

    Python3爬蟲學(xué)習(xí)入門教程

    這篇文章主要介紹了Python3爬蟲學(xué)習(xí)入門,簡單介紹了Python3爬蟲的功能、原理及使用爬蟲爬取知乎首頁相關(guān)操作技巧,需要的朋友可以參考下
    2018-12-12
  • Python?PaddleGAN實現(xiàn)調(diào)整照片人物年齡

    Python?PaddleGAN實現(xiàn)調(diào)整照片人物年齡

    這篇文章主要介紹了通過PaddleGAN實現(xiàn)照片人物的老年化和年輕化處理,文中的示例代碼講解有效,對我們學(xué)習(xí)或工作有一定的幫助,感興趣的可以學(xué)習(xí)一下
    2021-12-12
  • 利用Python如何實現(xiàn)K-means聚類算法

    利用Python如何實現(xiàn)K-means聚類算法

    聚類算法有很多種(幾十種),K-Means是聚類算法中的最常用的一種,算法最大的特點是簡單,好理解,運算速度快,下面這篇文章主要給大家介紹了關(guān)于利用Python如何實現(xiàn)K-means聚類算法的相關(guān)資料,需要的朋友可以參考下
    2021-08-08
  • 詳解Python+Pyecharts實現(xiàn)漏斗圖的繪制

    詳解Python+Pyecharts實現(xiàn)漏斗圖的繪制

    漏斗圖是一個簡單的散點圖,反映研究在一定樣本量或精確性下單個研究的干預(yù)效應(yīng)估計值。本文將用Python Pyecharts實現(xiàn)漏斗圖的繪制,需要的可以參考一下
    2022-06-06
  • python數(shù)據(jù)分析之單因素分析線性擬合及地理編碼

    python數(shù)據(jù)分析之單因素分析線性擬合及地理編碼

    這篇文章主要介紹了python數(shù)據(jù)分析之單因素分析線性擬合及地理編碼,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-06-06
  • 人機交互程序 python實現(xiàn)人機對話

    人機交互程序 python實現(xiàn)人機對話

    這篇文章主要為大家詳細介紹了人機交互程序,初步實現(xiàn)python人機對話,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • Python中如何替換字典中的值

    Python中如何替換字典中的值

    這篇文章主要介紹了Python中替換字典中的值,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03
  • Python實現(xiàn)Event回調(diào)機制的方法

    Python實現(xiàn)Event回調(diào)機制的方法

    今天小編就為大家分享一篇Python實現(xiàn)Event回調(diào)機制的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02

最新評論

当涂县| 寿光市| 萝北县| 奉新县| 华池县| 祁东县| 大化| 曲水县| 绥江县| 大厂| 平罗县| 沧州市| 罗源县| 板桥市| 遵义市| 昭苏县| 昌宁县| 连州市| 井冈山市| 昌都县| 昭通市| 自贡市| 大悟县| 临邑县| 古田县| 滁州市| 宽甸| 乡城县| 汝南县| 九台市| 台州市| 祁门县| 宽甸| 清丰县| 红桥区| 临潭县| 城口县| 本溪| 枝江市| 镇原县| 炎陵县|