よく Bandcamp で曲を買いますが、一括で DL できなくて困っています。
上記の画像にある通り、一つ一つ「ダウンロード」をクリックする必要があります。
たまにディスコグラフィティー(リリースされたアルバムや曲のまとめ)を買うのですが、DL がとてつもない数(時には 100 を超える)になり、「これをぽちぽちクリックして DL させるなんて正気の沙汰ではない」と思い始めたので、無理やり力技で一括 DL して楽をしたいと思います。
ダウンローダーは、複数の URL を入力して DL 可能なものであれば大丈夫です。
Link Grabber という Chrome 拡張機能を使うと、Web ページ内にあるリンクが全てリスト化されます。
Bandcamp 購入後のページで使用すると以下のようになります。
この中から DL する URL を抽出します。
bandcamp で曲を購入した後のページに移動します。移動したら Chrome のデベロッパーツールを開き Elements タブに移動します。この html から DL リンクの一覧を抽出しようと思います。
<div class=”download">
の中の <ul>
に、ダウンロードするアイテムの一覧があります。さらにこの中を見ていくと、<div class=”format-container”>
があり、その中には <span><a href="DL リンクの URL">
タグがあることが分かります。
この URL を DL するアイテム分だけ取得して、テキストファイルに保存しておきます。
<ul class="downloads">
のコードを選択してコピペ(CTRL+C)します。するとその下の階層のコードが全てコピペされます。
ここでは、コピペした内容を downloads.html
というファイルに保存します。
あとは適当なシェル芸を用いて url だけ抽出します。
❯ grep '<a class="item-button"' downloads.html | | cut -f 8 -d '"'
https://p4.bcbits.com/download/album/1b3807876f4b3176f326858cce590da2f/mp3-320/3783528176?id=3783528176&sig=805f41a9e435f100eebf911dc60122c4&sitem_id=214863294&token=1665584821_d8a63afajs7897fsaf0d066ea2650c8fdd094676
https://p4.bcbits.com/download/album/11619baaee7d86b34056e58d0211468f0/mp3-320/4115599833?id=4115599833&sig=019cfce27d467c0785dd1daa16e09ccf&sitem_id=214863298&token=1665584857_bbbfdsa7890aflkr314r908u9aujfao980756017
# snip...
URL 一覧を抽出できたので、あとは Download Station にぶち込みます。「URL を入力」に URL の一覧をコピペして「OK」をクリックしましょう🔥
一度に読み込める URL は 50 個までなので、多い場合は何回かに分けて読み込みます。
ファイルが多すぎるせいか途中で何度かエラーが出ました 🤣
成功するまで何度かリトライして DL 完了しました。
今回購入したものが 44 アイテムあったので、全て完了していることを確認します。
Bandcamp 側で複数 DL に対応してほしいです。。。