Python3爬蟲-10:Tesseract 圖像識別

2021-01-15 葉藏手札


「人生苦短,快用Python」


在爬蟲過程中,經常會遇到各種驗證碼,如:圖形驗證碼、極驗滑動驗證碼、點觸驗證碼、微博宮格驗證碼等;這時,可以利用OCR技術識別圖形驗證碼進行驗證。OCR,即Optical Character Recognition,是指光學字符識別,通過掃描字符將其形狀翻譯成電子文本。在Python3中,可以通過pytesseract庫調用Tesseract-OCR使用OCR技術識別圖形驗證碼。

一、安裝 Tesseract-OCR

在網站 https://digi.bib.uni-mannheim.de/tesseract/ 下載Tesseract-OCR安裝包,如:tesseract-ocr-w64-setup-v5.0.0.20190623.exe,雙擊執行默認安裝。在網站 https://github.com/tesseract-ocr/tessdata 下載tessdata語言包,如:tessdata-master.zip,解壓縮後將所有文件複製到Tesseract-OCR安裝路徑下的tessdata文件夾中。


二、安裝 pytesseract

通過pip包管理器安裝tesseract的python綁定庫pytesseract,同時,會自動安裝pytesseract的圖像處理依賴Pillow庫。安裝命令:

pip install pytesseract
pip install pillow


測試圖片:


測試代碼:

import pytesseract
from PIL import Image

image = Image.open("1.jpg")
text = pytesseract.image_to_string(image, lang='chi_sim')  
print(text)


運行報錯:

pytesseract.pytesseract.TesseractNotFoundError: 
tesseract is not installed or it's not in your PATH.
See README file for more information.

解決方法:將pytesseract安裝路徑下的pytesseract.py文件中的行:

tesseract_cmd = 'tesseract' 修改為tesseract可執行文件的真實路徑:如

tesseract_cmd = 'D:/ProgramFiles/Tesseract-OCR/tesseract.exe'


運行結果:


pytesseract.image_to_alto_xml()
pytesseract.image_to_boxes()
pytesseract.image_to_data()
pytesseract.image_to_osd()
pytesseract.image_to_pdf_or_hocr()
pytesseract.image_to_string()






Talk is cheap.

Show me the code.


Long-press QR code to transfer me a reward

Code is God

As required by Apple's new policy, the Reward feature has been disabled on Weixin for iOS. You can still reward an Official Account by transferring money via QR code.

相關焦點

  • python人工智慧-圖像識別
    PIL:(Python Imaging Library)是Python平臺上的圖像處理標準庫,功能非常強大。pytesseract:圖像識別庫。我這裡使用的是python3.6,PIL不支持python3所以使用如下命令pip install pytesseractpip install pillow如果是python2,則在命令行執行如下命令:pip install pytesseractpip install PIL這時候我們去運行上面的代碼會發現如下錯誤
  • Python3網絡爬蟲課程 8.1圖形驗證碼的識別
    目前,很多網站都採取了各種各樣的反爬措施,其中之一便是使用驗證碼.隨著技術的發展,驗證碼卻來越複雜,花樣越來越多,爬蟲的工作也變得愈加複雜,本節將介紹圖形驗證碼的識別.圖形驗證碼我們首先將識別最簡單的驗證碼,圖形驗證碼.目標我們將以知網為例講解使用 OCR 技術識別圖形驗證碼.
  • 使用Python和Tesseract來識別圖形驗證碼
    純白色背景、字符規整無幹擾像素的驗證碼圖片可以直接調用tesseract程序來進行識別。如要更方便靈活地在自己的程序中進行識別,則可以使用tesseract的API。識別的流程簡單來說如下:1. 用Image加載圖像,轉為RGBA格式,然後獲取像素數據;2. 將RGBA格式的像素數據轉換為0和1的字節串(其實就是二值化處理);3.
  • Python圖像處理之圖片文字識別(OCR)
    它可以通過訓練識別出任何字體(只要這些字體的風格保持不變就可以),也可以識別出任何Unicode 字符。Tesseract的安裝與使用   Tesseract的Windows安裝包下載地址為: http://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-setup-4.00.00dev.exe ,下載後雙擊直接安裝即可。
  • Python驗證碼識別:利用pytesser識別簡單圖形驗證碼
    (點擊上方公眾號,可快速關注)來源:  j_hao104my.oschina.net/jhao104/blog/647326一、探討識別圖形驗證碼可以說是做爬蟲的必修課三、一般思路驗證碼識別的一般思路為:1、圖片降噪2、圖片切割3、圖像文本輸出3.1 圖片降噪所謂降噪就是把不需要的信息通通去除,比如背景,幹擾線,幹擾像素等等,只剩下需要識別的文字,讓圖片變成2進位點陣最好。
  • 用python識別驗證碼
    前言經常大家在做自動化測試或者做網絡爬蟲的時候,都很容易遇到驗證碼。今天,我們就簡單的說下,怎麼用python來處理驗證碼。
  • python爬蟲-urllib、urllib2、requests三者關係
    只要人能看到的東西,理論上都是爬蟲可以獲取的。不論靜態頁面還是動態頁面。也不論pc端的頁面還是移動端的app。話有點大,但這就是本系列的目的。爬蟲編程,有很多語言可選,python、php、go、java···甚至是c。這裡我們選擇python作為爬蟲的程式語言,因為它簡單易上手,並且節約生命。
  • Python3網絡爬蟲課程 8.2極驗滑動驗證碼的識別
    上一節了解了簡單驗證碼的識別,但是現在這種驗證碼非常少見,現在出現了一大批新型的驗證碼,如極驗滑動驗證碼,它需要拖動合併滑塊才能完成識別。目標本節目標是識別極驗滑動驗證碼,如分析思路、識別缺口、生成拖動路徑、模擬合併等。
  • Python視頻教程網課編程零基礎入門數據分析網絡爬蟲全套Python...
    模塊和包 11文件操作 12文本編碼 13內建函數eval 3項目實戰部分:1項目準備 2遊戲窗口和繪製圖像 3遊戲循環和鍵盤事件 4精靈和精靈組 5框架搭建 6背景圖像 7敵人飛機 8英雄飛機 9發射子彈以及碰撞檢測
  • 使用一行Python代碼從圖像讀取文本
    處理圖像不是一項簡單的任務。對你來說,作為一個人,很容易看著某樣東西然後馬上知道你在看什麼。但電腦不是這樣工作的。對你來說太難的任務,比如複雜的算術,或者一般意義上的數學,是計算機毫不費力就能完成的。但在這裡,情況正好相反——對你來說很瑣碎的任務,比如識別圖像中的貓或狗,對電腦來說真的很難。
  • 基於opencv 的圖像處理入門教程
    前言雖然計算機視覺領域目前基本是以深度學習算法為主,但實際上很多時候對圖片的很多處理方法,並不需要採用深度學習的網絡模型,採用目前成熟的圖像處理庫即可實現,比如 OpenCV 和 PIL ,對圖片進行簡單的調整大小、裁剪、旋轉,或者是對圖片的模糊操作。
  • 「Python爬蟲與文本實例技術與應用」培訓班通知
    為提升相關科技工作者的技術水平,北京博宏科睿教育科技有限公司特舉辦2018年第二期「Python爬蟲與文本挖掘實例技術與應用」培訓班,本次培訓從爬蟲的基本知識入手,使用Python作為實現工具,一步步講述網絡爬蟲的實現,具體內容如下:            【培訓目標】    1.讓學員儘快掌握python語言的基本結構與語法與數據類型,
  • 網站反爬蟲常見方法
    網站為了正常運營,通常會設置各種反爬機制,讓爬蟲知難而退。今天神龍代理IP就給大家盤點一下網站常見的反爬蟲機制。網站反爬蟲常見方法1.通過UA判定UA即User Agent,它是請求瀏覽器的身份標誌。反爬蟲機制通過判定訪問請求的頭部中沒有帶UA來識別爬蟲,這種判定方法很低級,通常不會將其作為唯一的判定標準,因為反反爬蟲非常容易,隨機數UA即可針對。2.通過Cookie判定Cookie就是指會員制的帳號密碼登錄驗證,通過分辨這一個帳號在短期內內爬取頻次來判定。這種方法的反反爬蟲也很費勁,需選用多帳戶的方法來爬取。
  • 用 Python 圖像識別打造一個小狗分類器
    編寫思路我們可以通過爬蟲技術,把4類圖像(京巴、拉布拉多、柯基、泰迪)保存到本地。總共有840張圖片做訓練集,188張圖片做測試集。/dog_kinds_after/' + dog_name, jpgfile))2) 由於數據是自己下載的,需要製作標籤(label),可提取圖像名稱的第一個數字作為類別。
  • 圖像識別與人工智慧圖像識別和機器視覺有什麼區別
    人工智慧領域發展到現在,ai與人工智慧、圖像識別領域、計算機視覺領域等近年來越來越多的整合和融合。首先,人工智慧在生活工作中將普遍應用;其次,人工智慧在不同的工作場景都有其應用,從金融到醫療,從服務到工廠,應用無處不在;最後,人工智慧正在與自動駕駛技術等聯繫在一起。
  • 深度學習與圖像識別 圖像檢測
    CNN等為什麼對圖像領域更加有效,因為其不但關注了全局特徵,更是利用了圖像識別領域非常重要的局部特徵,應該是將局部特徵抽取的算法融入到了神經網絡中。圖像本身的局部數據存在關聯性,而這種局部關聯性的特徵是其他算法無法提取的。深度學習很重要的是對全局和局部特徵的綜合把握(2)深度學習不是一個黑箱系統。
  • python|圖像識別
    影響力之大和最吸引人的技術就是圖像識別,圖像識別技術是人工智慧的一個重要領域,它是指利用計算機對圖像進行處理、分析和理解,以識別各種不同模式的目標和對象的技術。今天以女神宋慧喬的兩張不同照片為例,利用python識別其相似度,從而判定是否是同一人,同時讓我們對圖像識別有個初步的了解,什麼?照片可以換蒼老師和波老師嗎?我懷疑你們在開車,可是我沒有證據!
  • 學習爬蟲思路分析
    前段時間可能大家被各大新聞爆出眾多爬蟲工程師程序猿被抓,且不知道犯了什麼罪;大家心中產生了疑問,那學爬蟲的意義到底為何呢,給大家插入一個連結是中華人民共和國國家網際網路信息辦公司的針對網絡爬蟲的法律規制(http://www.cac.gov.cn/2019-06/16/c_1124630015.htm)詳細閱讀,爬蟲並不違法,看你將他用在何處。
  • Agora新增支持Python:視頻通話中也可做圖像識別了
    Python 擁有很活躍的社區和豐富的第三方庫,Web 框架、爬蟲框架、數據分析框架、機器學習框架等,開發者無需重複造輪子,可以用 Python 進行 Web 編程、網絡編程,開發多媒體應用,進行數據分析,或實現圖像識別等應用。其中圖像識別是最熱門的應用場景之一,也是與實時音視頻契合度最高的應用場景之一。
  • 圖像文字識別用什麼軟體?怎麼識別圖像中的文字?
    怎麼識別圖像中的文字?朋友小沈按照家裡人意思,壓制住了當自媒體撰稿人的想法,畢業後做起了財務文員。正因如此,她的文藝心逐漸泛濫,業餘把時間都放在了收集、記錄美圖、美句上。隨著日復一日的素材積累,小沈的寫作靈感越來越多,最後乾脆當起了兼職寫手。