1. 程式人生 > >最最最牛大佬教你快速用Python 指令碼批量下載 Google 影象?

最最最牛大佬教你快速用Python 指令碼批量下載 Google 影象?

有好多明星的臉,分不清,怎麼辦?小編用python教你,如何看臉。
在這裡插入圖片描述

分不清譚卓和郝蕾?來一達,各來200張照片,讓深度學習幫我們識別吧。

問題

《如何用Python和深度神經網路識別影象?》一文中,我給你展示瞭如何用深度學習,教電腦區分機器人瓦力和哆啦a夢。

很快就有使用者在後臺留言,問:

老師,我想自己訓練一個圖片分類器,到哪裡去批量下載帶標註的訓練影象呢?

說說我寫教程的時候,是如何找圖片的吧。

最大的圖片庫,當然就是 Google 了。

在 Google 影象欄目下,鍵入"Walle"。

需要更多python學習資料和好玩的程式加小編的QQ群 827502865
**

在這裡插入圖片描述

怎麼樣?搜尋結果很符合需求吧。

你不但找到了一批高質量圖片,而且它們的標註, Google 都幫你打好了。

下面一步,自然就是把這些圖片下載下來了。

我讓學生實際動手做,每個人找兩個與別人不同的影象集合,嘗試根據教程做深度學習分類。

我提供給他們的方案(幾款不同的 Chrome 瀏覽器外掛),效果都不好。

有的才下了幾張,就停工,甚至把瀏覽器整崩潰了。

有的下載圖片,都是重複的。

學生告訴我,經驗證,最簡單有效的方法,是一張張手動點選下載……

這顯然不是正經辦法。

痛點

渴望從 Google 圖片庫高效批量獲得優質帶標註影象,不會是個案。

這個大眾痛點,真的沒有人嘗試解決嗎?

今天,一個偶然的機會,我發現了一個特別棒的 Github 專案,叫做 google-images-download。
在這裡插入圖片描述

Github repo 連結在這裡。

專案釋出至今,只有短短5個月的時間,星標數量居然已經上了2000,看來確實非常受歡迎。

google-images-download 是個 Python 指令碼。

使用它,你可以一條命令,就完成 Google 圖片搜尋和批量下載功能。

而且,這工具還跨平臺執行,Linux, Windows 和 macOS 都支援。

簡直是懶人福音。

安裝

google-images-download 安裝很簡單。

以 macOS 為例,只需要在終端下,執行以下命令:
pip install google_images_download

安裝就算完成了。

當然,這需要你係統裡已經安裝了 Python 環境。

如果你還沒有安裝,或者對終端操作命令不太熟悉,可以參考我的《如何安裝Python執行環境Anaconda?(視訊教程)》一文,學習如何下載安裝 Anaconda ,和進行終端命令列操作。

嘗試

進入下載目錄:
cd ~/Downloads
在這裡插入圖片描述

我們嘗試下載一些圖片。

《我不是藥神》裡面有個叫譚卓的女演員,演的不錯。可是我一開始,把她當成郝蕾了。

咱們嘗試下載一些譚卓的圖片吧。

終端裡面執行:
googleimagesdownload -k “譚卓” -l 20

解釋一下,這裡的 -k 指的是 “keyword”,也就是“關鍵詞”,後面用雙引號括起來要查詢的關鍵詞。

你可以看出,使用中文關鍵詞,也沒問題。

後面的 -l ,指的是"limit",也就是圖片數量限定,你需要指定自己要下載多少張影象。

本例中,我們要20張。

下面是執行過程:

在這裡插入圖片描述

執行完畢。

可以看到,下載過程中,發生了一個錯誤。

但程式依然鍥而不捨,幫我們把下載流程執行完畢。

我們看看結果。

下載的圖片都存放在 ~/Downloads/downloads/譚卓 下面,google-images-download 非常貼心地,為我們建立子目錄。

我們在 Finder 裡開啟看看:

在這裡插入圖片描述

看了半天,有的照片,還是跟郝蕾分不大清楚。

為了徹底分清兩位女演員,我們再下載 200 張郝蕾的照片吧。

仿照剛才的命令,我們執行:
googleimagesdownload -k “郝蕾” -l 200

然後……就報錯了:

解決

遇到問題,不要慌。

你得認真看看錯誤提示。

注意其中出現了一個關鍵詞:chromedriver。

這是個什麼東西呢?

我們回到 google-images-download 的 github 頁面,以 chromedriver 為關鍵詞進行檢索。

你會立即找到如下結果:

在這裡插入圖片描述

原來如果你要的圖片數量超過100張,那麼程式就必須呼叫 Selenium 和 chromedriver 才行。

Selenium 在你安裝 google-images-download 的時候,已經自動安裝好了。

你只需要下載 chromedriver ,並且指定路徑。

下載連結在這裡。

在這裡插入圖片描述

請根據你的作業系統型別,選擇合適的版本:

在這裡插入圖片描述

我選的是 macOS 版本。

下載後,壓縮包裡面只有一個檔案,把它解壓,放在 ~/Downloads 目錄下。
在這裡插入圖片描述

然後,執行:
googleimagesdownload -k “郝蕾” -l 200 --chromedriver="./chromedriver"

這裡 --chromedriver 引數,用來告訴 google-images-download ,解壓後 chromedriver 所在路徑。

這回機器勤勤懇懇,幫我們下載郝蕾的照片了。

在這裡插入圖片描述

200張圖片,需要下載一會兒。請耐心等待。

在這裡插入圖片描述

下完了。

中間也有一些報錯,部分圖片沒有正確下載。

好在,這對總體結果沒有太大影響。

為了保險起見,建議你設定下載數量時,多設定一些。

給自己留出安全邊際嘛。

咱們開啟下載後的目錄 ~/Downloads/downloads/郝蕾 看看:

在這裡插入圖片描述

這回,你能分清楚她倆不?

需要更多python學習資料和好玩的程式加小編的QQ群 827502865