Twitter・Pixiv・ニコニコ静画などの画像を全部まとめて一気にダウンロードできる「gallery-dl」
ウェブサイトの画像を保存したい時、一枚ずつブラウザ上で右クリックしながらダウンロードするのは非常に時間がかかります。無料のPython製オープンソースソフトウェア「gallery-dl」を使うと、ウェブサイト上の画像や動画ファイルをコマンド一発でまとめてダウンロードすることができます。
GitHub - mikf/gallery-dl: Command-line program to download image-galleries and -collections from several image hosting sites
https://github.com/mikf/gallery-dl
gallery-dlはPythonが動作するWindowsやmacOS、Linuxで利用可能。今回は下記コマンドを実行し、Ubuntu 20.04にgallery-dlをインストールしました。
sudo apt install python3-pip sudo pip3 install --upgrade gallery-dl
まずはウェブサイトで画像を表示し、URLをコピーします。
あとは「gallery-dl URL」とコマンドを入力し、実行すればOK。ダウンロードした画像はカレントディレクトリ下の「gallery-dl」フォルダにウェブサイトごとに格納されます。
こんな感じで、簡単にウェブサイトから画像をダウンロードすることができました。
flickrの場合、デフォルトでダウンロードされる画像のサイズは「Original」のサイズとなっています。
また、指定したウェブサイトに画像が複数ある場合は、まとめて一気にダウンロードしてくれます。
動画ファイルもダウンロード可能。
gallery-dlはウェブサイトごとに「extractor」というモジュールが用意されており、extractorが存在するウェブサイトはスクレイピングによって必要な画像だけダウンロードすることができます。記事作成時点でflickrやPinterest、Pixiv、Twitter、Tumblr、imgur、ニコニコ静画など、120以上のウェブサイトに対応しています。
extractorが用意されていないウェブサイトの場合は「gallery-dl r:URL」とすることで、ウェブサイト内に存在するリンクを片っ端から検索し、画像をダウンロードしてくれます。ただし、大量の画像がダウンロードされてしまうため、実行する場合は注意が必要です。
ニコニコ静画などログインが必要なウェブサイトから画像をダウンロードするには、「/etc/gallery-dl.conf」や「${HOME}/.config/gallery-dl/config.json」に、以下のようにアカウント情報を記載しておく必要があります。
{ "extractor": { "seiga": { "username": "ユーザー名", "password": "パスワード" } } }
また、deviantart、flickr、reddit、SmugMug、Tumblrでは、OAuthによるアカウント認証を利用できます。例えばflickrのアカウント認証を行いたい場合は、以下のようにコマンドを実行。
gallery-dl oauth:flickr
ブラウザで表示される認証画面でログインすれば、gallery-dlでアカウントを利用したダウンロードができるようになります。
・関連記事
画像ファイルやデータベースの文字列を「grep」のように検索できる「ripgrep-all」 - GIGAZINE
無料でiPhoneやiPad上でコマンドやプログラムを実行できるターミナルアプリ「a-shell」 - GIGAZINE
開発者たちが慣れ親しんだ「scp」コマンドはなぜ「時代遅れで柔軟性がなくすぐに修正できない」のか? - GIGAZINE
ターミナル上でサクッと遊べるテキストベースのシューティングゲーム「Terminal Phase」 - GIGAZINE
GitHubが動画ダウンロードプロジェクト「youtube-dl」復活を決定 - GIGAZINE
無料のRPGをプレイするだけで未経験者でもプログラミングを習得可能な「コードクロニクル」でPythonをマスターしてみた - GIGAZINE
・関連コンテンツ