berylgobby 發表於 2018-9-6 09:24:11

用Python自動批次下載延禧攻略圖片

文、菜鳥編
https://www.lccnet.com.tw/lccnet/Upload/Article/news-1326.jpg


原文網址




過去幾年來,Python有著火箭式的推進成長,更曾一度登上Stack Overflow最受歡迎的程式語言。Python有著簡潔易學的特性,所以不管在大數據或網頁、GUI、遊戲引擎中都可以看到它的身影。今天要介紹的批次下載工具也是使用Python所撰寫。

不知道你有否過在Google中大量下載某個關鍵字的圖片的經驗,小編試過相當多的套件與工具,但效果都不盡人意。反而要花大把時間,慢慢的將圖片給儲存下來。不過前幾個月,在GitHub上有人開發了一個名為 google-images-download 的項目,真的是解決了這個擾人的問題。

https://www.lccnet.com.tw/lccnet/Upload/Ckeditor/1535725523.png


如同名稱一樣,可以讓你將Google中的所搜尋到的圖片批次下載,項目發表僅短短5個月,星標的數量就已經達到2,800以上了。可見受歡迎的程度非常高。至於要如何使用這腳本呢?只要你懂如何安裝Python,透過幾行指令你就可以享用這功能了。

最近恰好延禧攻略相當火紅,就以它為例子來教大家如何使用這個Python腳本 (雖然我知道你比較想知道怎麼下載影片)。






Step1、下載Python

首先,我們到Python官網,把對應的Python版本下載下來,這邊以最新版本Python 3.7 為例。
https://www.lccnet.com.tw/lccnet/Upload/Ckeditor/1535727002.png



Step2、安裝中要記得添加路徑

開啟安裝畫面時,要留意下方的「Add Python 3.7 to PATH」給勾選,主要是將Python 3.7 的路徑加到Windows環境變數中。方便後面的指令操作,而上方藍色字體部分則是選擇「預設安裝」或「自訂安裝」。這邊我以自訂安裝為例。
https://www.lccnet.com.tw/lccnet/Upload/Ckeditor/1535727040.png



Step3、自訂安裝位置(非必要)

預設會安裝一些必要的套件,這邊如果沒特別需要就不要修改。
https://www.lccnet.com.tw/lccnet/Upload/Ckeditor/1535727061.png


選擇自訂安裝的,可在下方位置變更安裝位置
https://www.lccnet.com.tw/lccnet/Upload/Ckeditor/1535727079.png



Step4、同意管理員授權

在安裝的最後可以看到下方的授權要求,點擊後關閉即可。
https://www.lccnet.com.tw/lccnet/Upload/Ckeditor/1535727098.png



Step5、驗證安裝

到這邊,沒有意外,你的Python就已經完整的安裝,如果不放心也可透過驗證方式在命令提示字元中輸入「python -V」確認版本,如果有出現python 3.7 就表示Python有正常的在系統中執行。
https://www.lccnet.com.tw/lccnet/Upload/Ckeditor/1535727116.png



Step6、建立下載位置

在電腦中新增圖片下載要放置的位置,以這邊為例,我在D槽中新增了一個名為googleImageDownload的資料夾。也先在命令視窗中切換到資料夾位置。
https://www.lccnet.com.tw/lccnet/Upload/Ckeditor/1535727148.png



Step7、安裝腳本

完成了Python的環境建置後,就可以安裝腳本,在命令指令字元中輸入pip install google_images_download,完成畫面如下。
https://www.lccnet.com.tw/lccnet/Upload/Ckeditor/1535727171.png



Step8、輸入指令下載

最後就是要將圖片下載到電腦上,要輸入的指令也相當簡單,以下載延禧攻略圖片來說,只要輸入 「googleimagesdownload -k “延禧攻略” -l 10」 。這邊也分別說明一下指令中的參數意義:

Googleimagesdownload:命令名,用來告訴系統要執行什麼命令。
-k:關鍵字參數(keyword),在後面以雙引號將關鍵字包起來。
-l:可以把它想成數量,以這邊為例就是下載10張圖片,如果不加上-l的參數,就會以預設值100去下載。
https://www.lccnet.com.tw/lccnet/Upload/Ckeditor/1535727228.png


接著我們在資料夾中可以看到一個用關鍵字命名的資料夾。
https://www.lccnet.com.tw/lccnet/Upload/Ckeditor/1535727259.png


下載過程相當快,不過你應該會發現怎麼只有9張,還有一些是沒有顯示圖片的?
https://www.lccnet.com.tw/lccnet/Upload/Ckeditor/1535727275.png


下面圖可以看到編號3的圖片,因為名稱過長關係造成。
https://www.lccnet.com.tw/lccnet/Upload/Ckeditor/1535727291.png


而沒有顯示的,只要加上附檔名就會正常顯示了。
https://www.lccnet.com.tw/lccnet/Upload/Ckeditor/1535727485.png



補充:
雖然腳本仍有些問題,但也已經是目前批次下載Google圖片中表現算好的了,另外一提,如果要下載的圖片數量超過預設的100呢?這邊就要在下載 ChromeDriver 放置在下載的資料夾中。
https://www.lccnet.com.tw/lccnet/Upload/Ckeditor/1535727592.png


在指令最後方再加上--chromedriver="./chromedriver",如下方:
googleimagesdownload -k "延禧攻略" -l 150 --chromedriver="./chromedriver"
https://www.lccnet.com.tw/lccnet/Upload/Ckeditor/1535727619.png

https://www.lccnet.com.tw/lccnet/Upload/Ckeditor/1535727642.png


當然,開發者也不是只有提供這幾個指令,還提供了顏色的篩選、尺寸、格式等…..,有興趣的可以在 Github 上查看。
https://www.lccnet.com.tw/lccnet/Upload/Ckeditor/1535727768.png

► 推薦課程:Python程式資料分析


如果你覺得這篇文章很實用,也別忘了分享給你的親友們喔!




延伸閱讀
鳥編專欄:玩遊戲 學Python
鳥編教學:Photoshop修圖寶典 (下篇)
聯成電腦分享:下一個全民必修的第二外語
鳥編專欄Photoshop教學:將圖片一次轉存不同尺寸
聯成電腦分享:改變我們的生活 最夯的雲端運算人才


官方網站:http://www.lccnet.com.tw
FB粉絲團:https://www.facebook.com/lccnetzone
菜鳥救星:https://www.facebook.com/greensn0w


頁: [1]
查看完整版本: 用Python自動批次下載延禧攻略圖片