如果你看到喜歡的帳號po的圖,你會一張一張右鍵存檔嗎?這樣太沒效率了。
gallery-dl是一款用Python寫成的命令行圖片下載工具,專門用來大量抓圖之用。
例如,你可以下載某個Instagram帳號的所有公開圖片。

或者大量下載Twitter (X)的貼文圖片
根據官網列表,gallery-dl支援許多圖片分享網站,例如Facebook、Instagram、X、Reddit、Tumblr、Pixiv、ArtStation、Danbooru、Patreon、Fantia、BOOTH、E-hentai、Iwara、Imgur、Wikipedia、4chan、5ch等等。
你可以用類似的指令語法大量下載。
針對需要登入會員才能用的網站,gallery-dl也能用指令登入網站,或者透過讀取cookie的方式下載。
1. gallery-dl安裝方式#
gallery-dl是自由軟體,開發工作主要在Codeberg進行,issue請到這裡回報。
Linux#
如果是滾動發行版,如Arch Linux,直接從套件庫安裝:
sudo pacman -S gallery-dlUbuntu可能收錄的是舊版,因此手動到Codeberg下載二進位檔安裝到系統:
chmod +x gallery-dl.bin
sudo mv gallery-dl.bin /usr/local/bin/gallery-dl安裝之後設定檔應放到~/.config/gallery-dl/gallery-dl.json
Windows#
用winget安裝
winget install -e --id mikf.gallery-dl安裝之後設定檔應放到%APPDATA%\gallery-dl\config.json
macOS#
用Homebrew安裝
brew install gallery-dl安裝之後設定檔應放到~/.config/gallery-dl/gallery-dl.json
Python套件管理器#
跨平臺的安裝方式。不過因為現在的Linux發行版會阻止pip安裝套件到系統,推薦用uv安裝獨立的環境:
uv tool install gallery-dl3. 推薦依賴項目#
如果你要用gallery-dl抓的東西含有影片,推薦一併安裝yt-dlp和ffmpeg比較好處理。
註解:如果你gallery-dl是用uv安裝的,則yt-dlp也要用uv安裝。
4. gallery-dl基本語法#
gallery-dl會在目前執行的路徑建立
gallery-dl資料夾,存放下載的檔案。用法是在下載資料夾,按右鍵開啟終端機。
在gallery-dl後面加上要下載的網址和參數。也可以只加入網址,讓gallery-dl讀取
gallery-dl.json設定檔內容來操作。
gallery-dl "網址" "參數"- 如果要一次下載多個網址,將網址一排一個,存成
urls.txt文字檔案,然後傳給gallery-dl讀取:
gallery-dl -i urls.txt "參數" - 查看幫助:
gallery-dl --help- 下載時候可以傳入參數設定行為。或者是在
gallery-dl.json定義。
--cookies:讀取cookie來登入網站--username與--password:輸入帳號密碼來登入網站--postprocessor啟用後處理器。需要在gallery-dl.json裡面定義操作--write-metadata將圖片的元資料另存為.json檔案方便批次處理,通常是Danbooru這種圖站才有標籤--write-info-json將圖站畫廊的元資料另存為.json檔案--write-tags圖站圖片標籤的元資料另存為.json檔案--zip將下載的檔案存為.zip--cbz將下載的檔案存為.cbz漫畫檔--mtime 'status[date]'依照網頁圖片的時間寫入上次修改時間到檔案--rename重新命名重複檔案--ugoira 'webm', 'mp4', 'gif', 'vp8', 'vp9', 'vp9-lossless', 'copy', 'zip'將Pixiv的動圖轉檔為影片格式--exec下載的時候對檔案操作的指令,例如用ImageMagick裁圖--exec-after下載之後對檔案操作的指令
5. 準備要下載網站的cookie#
cookie是瀏覽器記錄使用者狀態的檔案,許多網站使用cookie暫時儲存使用者的登入資訊。有些網站會要求登入帳號否則不給看。將cookie傳入gallery-dl(使用
--cookies 檔案路徑參數)就能讓網站認為你有登入帳號,進而允許下載圖片。雖然gallery-dl尚有用oauth指令登入各大網站的方法,不過我覺得讀cookie比較快。使用cookie要注意:由於cookie含有敏感個人隱私,請勿隨意外流。gallery-dl僅會讀取cookie,不會將敏感資料上傳到第三方伺服器。此外,大量下載圖片可能會導致你的IP被鎖,甚至連帳號也被ban。使用gallery-dl這個工具除了要小心精盡人亡之外,還要小心下載過頭帳號被鎖。如果你一天需要下載好幾千張的照片,考慮用副帳號去抓。
那麼要如何取得cookie呢?安裝匯出cookie的擴充套件。Firefox安裝Export Cookies。Chrome則是EditThisCookie。
在瀏覽器登入帳號,下載cookie為.txt檔案。

務必檢查cookie是否不為空白才有效。
6. 使用例#
下載Instagram照片#
gallery-dl可以下載單篇貼文,也可以一次抓整個帳號公開的全部照片。
由於Instagram網頁需要登入才能看照片,必須傳入cookie。
例如下載單篇貼文的照片,傳入網址就可以了:
gallery-dl "https://www.instagram.com/umi_portrait/p/DZMu5YPEgPA/" \
--cookies instagram-cookie.txt下載所有公開照片的話,目前有個奇怪的限制:Instagram要填寫帳號數字ID,不能填寫英文網址。
例如:https://www.instagram.com/umi_portrait/,透過第三方網站查詢Instagram帳號ID,將網址改為https://www.instagram.com/id:5737467935/再傳入cookie下載:
gallery-dl "https://www.instagram.com/id:5737467935" \
--cookies instagram-cookie.txt下載X的照片#
gallery-dl傳入貼文網址就是只下載圖片。傳入帳號網址則是抓所有公開圖片。從最新的開始抓。
X網頁需要登入才能看到R18照片,建議傳入cookie。
傳入貼文網址就是只下載圖片。傳入帳號網址則是抓所有公開圖片。從最新的開始抓。
例如下載https://x.com/ebihurya332的最新照片:
gallery-dl "https://x.com/ebihurya332" \
--cookies x-cookie.txt下載Pixiv的圖片#
gallery-dl傳入貼文網址就是只下載圖片。傳入帳號網址則是抓所有公開圖片。從最新的開始抓。
Pixiv網頁需要登入才能看到R18照片。而且Pixiv有嚴格的防爬蟲機制,不能用傳入cookie的方法下載,必須模擬Android客戶端登入的方式取得token。
執行以下指令,依照畫面指示。打開瀏覽器的Pixiv頁面,按下F12取得token:
gallery-dl oauth:pixiv- 然後就能下載圖片了。
如果要下載單篇畫廊的插畫,傳入網址:
gallery-dl "https://www.pixiv.net/artworks/65677525"下載含有動圖的插畫並轉為.mp4方便播放:
gallery-dl "https://www.pixiv.net/artworks/140158459" \
--ugoira mp4 下載該帳號最近所有插圖:
gallery-dl "https://www.pixiv.net/users/355065"

