Github上最火的 Google 圖片批量下載工具簡明教程

批量下載圖片這種事兒,不管是誰可能都要遇上那麼幾回。作為一名信息管理與信息系統講師,我經常需要大量圖像來訓練模型,這個需求也就更強烈。

一般來說,搜圖時我們都會在 Google 圖片中搜索我們想要的東西。比如鍵入「Walle」,就能搜到皮克斯製作的動畫《瓦力》的主人公:

載入超時,點擊重試

搜索的結果,合乎我們的要求。Google 不但給了咱們圖片,而且標記也已經做好了,下一步只要批量下載就行了。

可就是在批量下載這一步,很多人犯了難。和各位一樣,我第一個想法也是看看有沒有什麼現成的 Chrome 插件能批量存圖,結果卻發現並沒有一款從準確度和操作上都足夠理想的工具。

山重水複的時候,我發現了一個特別棒的 Github 項目,叫做 google-images-download

項目發布至今,只有短短 5 個月的時間,星標數量已經上了 2000,看來確實非常受歡迎。

google-images-download 是個 Python 腳本。但**使用它卻不需要什麼代碼知識——一條命令,就完成 Google 圖片搜索和批量下載功能。而且,這工具還跨平台運行,Linux, Windows 和 macOS 都支持。簡直是懶人福音。

安裝

google-images-download 安裝很簡單。以 macOS 為例,只需要在終端下,執行以下命令:

pip install google_images_download

安裝就算完成了。當然,這需要你系統里已經安裝了 Python 環境。如果你還沒有安裝,或者對終端操作命令不太熟悉,可以參考我的《如何安裝 Python 運行環境 Anaconda?(視頻教程)》一文,學習如何下載安裝 Anaconda ,和進行終端命令行操作。

運行

這次我們嘗試下載什麼圖片呢?想起《我不是葯神》裡面有個叫譚卓的女演員,演的不錯。可是我一開始,把她當成郝蕾了。咱們就嘗試下載一些譚卓的圖片吧。

首先,我們先指定圖片要下載的位置,我把它指定到了「下載(Download)」這個文件夾:

cd ~/Downloads

然後,在終端里執行即可:

googleimagesdownload -k "譚卓" -l 20

這行代碼中:

  • googleimagesdownload 是命令名,告訴系統我們現在要執行什麼命令,現在我們要執行的就是「googleimagesdownload」這個命令。
  • -k 指的是「關鍵詞(Keyword)」,所以它的後面緊跟著關鍵詞,在這裡是 "譚卓",注意關鍵詞要用半形直雙引號框起來。
  • -l 指的是「限定(limit)」,指定下載圖片的數量。本例中,我們下載了 20 張。

下面是執行過程:

最後的 Error: 1 說明, 下載過程中,發生了一個錯誤。但程序依然正常地將下載流程運行完畢。我們來看結果:

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

基本上,這一行命令就能幫我們解決正常情況下,批量下載圖片的需求了。

進階

然而,在有的情況下,我們需要下載的圖片遠遠大於 20 張。比如說我看了半天照片,還是分不大清楚郝蕾和譚卓。那麼為了徹底分清兩位女演員,我打算再下載 200 張郝蕾的照片試試。

仿照剛才的命令,執行:

googleimagesdownload -k "郝蕾" -l 200

然後,你會發現報錯了:

遇到問題,不要慌。你得認真看看錯誤提示。注意其中出現了一個關鍵詞:chromedriver。這是個什麼東西呢?

我們回到 google-images-download 的 github 頁面,以 chromedriver 為關鍵詞進行檢索。你會立即找到如下結果:

原來,當我們下載的圖片數量超過 100 張時,程序就必須調用 Seleniumchromedriver 才行。不知道它倆是啥無所謂,要了咱裝就行了。

Selenium 在我們安裝 google-images-download 的時候,就已經同時安裝好了。現在我們只需要下載 chromedriver 即可,它的下載鏈接在 這裡。

下載時請注意根據自己的系統類型選擇合適的版本:

我這裡選的是 macOS 版本。下載後,壓縮包裡面只有一個文件,把它解壓,然後放在 ~/Downloads 目錄下。

接下來我們就可以批量下載超過 100 張圖片了。執行以下命令:

googleimagesdownload -k "郝蕾" -l 200 --chromedriver="./chromedriver"

我們會發現多了一個 參數 --chromedriver。它是用來告訴 google-images-download 解壓後 chromedriver 的所在路徑。這回機器勤勤懇懇,幫我們下載郝蕾的照片了:

下載完畢後發現也有一些報錯,部分圖片沒有正確下載。但這對總體結果沒有太大影響。為了保險起見,建議你設置下載數量時,多設置一些。給自己留出安全邊際嘛。

最後我們再打開下載後的目錄 ~/Downloads/downloads/郝蕾 看看:

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

更多參數介紹

評分這麼高的 google-images-download ,自然不可能只有上例中這兩三個參數選項。如果你對它感興趣,可以用 這個鏈接查看全部可用參數列表。

我數了一下,一共有39項。篇幅所限,這裡就不一一展開羅列了。但是其中幾個特色參數,我還是希望提示你一下,因為你在實際工作中,很可能會覺得它們有用處。

  • --format: 選擇圖片格式,例如 jpg, png, gifsvg 等;
  • --usage_rights:選擇圖片版權,例如 labeled-for-nocommercial-reuse 等。如果你希望建立自己發布內容用的圖片素材庫,可以用這個選項,避免踩到版權的坑上,被人家獅子大開口要錢;
  • --size:選擇圖片大小。假如說你對於圖片解析度有要求,可以用 >10MP ,只下載像素數量超過 10M 的那些圖片;
  • --type:選擇圖片類型。例如只想要照片,可以用 photo ,只想要動漫形象,可以用 animated
  • --time:選擇圖片被檢索的時間。假如想要過去一周的圖片,可以使用 past-7-days
  • --specific_site:指定圖片存儲網站。可以將搜索結果,限定在某個網站域名範圍內;

最後還有一個參數,是 ---safe_search,它的作用是啟用安全搜索,來保證搜索結果中,不會出現不利於精神文明建設的內容。

推薦閱讀:

TAG:下載工具 | GitHub | Google圖片搜索 |