Python爬取Instagram資料&Python將圖片轉化為文字

Python爬取Instagram資料&Python將圖片轉化為文字

PartⅠ: Instagram(以下稱為Ins)指定使用者的圖片爬取

  Ins的圖片沒有辦法像很多圖片一樣可以右鍵點選進行儲存,很多時候是使用截圖的方式進行儲存。不過在Python中,有對Ins資料進行抓取並儲存的庫,使用起來非常方便快捷。

       對Ins資料進行抓取的庫為instagram-scraper,其下載地址為:https://pypi.python.org/pypi/instagram-scraper

    (當然啦,爬取Ins資料的前提是網路能夠訪問到Ins,Ins是屬於Facebook的~So……)

     對於該庫的安裝,可以使用python自帶的pip工具,安裝命令如圖所示(我已經安裝,所以顯示資訊與安裝過程不同):

安裝成功後,可以通過命令列:

instagram-scraper stanford

(stanford可以用任何想要爬取的使用者名稱代替)

       這樣,爬取的圖片會儲存在一個新建立的資料夾中,新建的資料夾為開啟命令列時所在的目錄(一般通過win  R 輸入【cmd】開啟,預設的目錄為C:\Users\使用者名稱)

       詳細的安裝和爬取目錄,可以在instagram-scraper這個專案的github地址上查閱:https://github.com/rarcega/instagram-scraper

Part Ⅱ: 使用python專用庫——pytesseract將圖片中的文字轉化為可以進行復制貼上的文字

       tesseract按照Quora上一個使用者的回答(下圖所示),有兩種使用方式,一種呢,是作為應用直接進行使用;另外一種是作為Python的一個庫(個人感覺這種方式會比較好,因為可以使用Python的影象處理,來對要提取的文字進行突出,這個提取文字的庫,是有點爛,待會兒圖片吐槽,有圖有真相~)

       圖片中,兩個超連結為: tesseract-ocr ,pytesseract
0.1.6

pytesseract庫的安裝,也是使用python自帶的pip工具,輸入命令:

pip install pytesseract

安裝完成後,可以直接匯入pytesseract庫,對圖片進行識別,進行識別的程式碼如下:

#-*- coding:utf-8 -*-
import pytesseract
from PIL import Image
# 使用pytesseract對英文進行識別
print(pytesseract.image_to_string(Image.open('textEng.png')))
# 使用pytesseract對中文進行識別
print(pytesseract.image_to_string(Image.open('textCh.png'), lang='chi_sim'))
# 使用pytesseract對中文和英文進行識別(使用的函式引數與上面相同,中文相容英文)
print(pytesseract.image_to_string(Image.open('textench.png'), lang='chi_sim'))

進行識別的圖片為:

圖1 英文圖片

圖2 中文圖片

圖3 中英混搭圖片

識別的結果為:

背景還算乾淨整潔,不過識別的結果卻不盡如人意,不過比人手動輸入要快多了呢~~~~~

最後,附上pytesseract的連結:

https://pypi.python.org/pypi/pytesseract