NHKの【基礎英語】を無料でダウンロードする方法

英語学習に重宝するNHKのラジオ講座【基礎英語】は過去1週間分の放送をストリーミング再生できるようになっています。基礎英語1の場合は下記URLから聴けます。

https://www2.nhk.or.jp/gogaku/learn/streaming/?spid=00000900&tcd=F0

残念なことにストリーミング再生のみで、ダウンロードすることはできません。
更に、2週間以上前の番組は復習することができません。

でも、下記の方法を使うことでMP3としてダウンロードすることができます。

難しいと思ったら、迷わずCD付きテキストを買いましょう。
基礎英語のCD付きテキスト

ダウンロードするために用意するもの

FFMPEG – https://ffmpeg.zeranoe.com/builds/
Download Buildボタンを押すとダウンロードできます。
ダウンロードしたZipはあらかじめ展開しておいてください。

ダウンロードするための操作手順

ダウンロードするためのURLを取得します

基礎英語1
http://cgi2.nhk.or.jp/gogaku/st/xml/english/basic1/listdataflv.xml

基礎英語2
http://cgi2.nhk.or.jp/gogaku/st/xml/english/basic2/listdataflv.xml

基礎英語3
http://cgi2.nhk.or.jp/gogaku/st/xml/english/basic3/listdataflv.xml

をChromeで開くと、下記のような内容が表示されます。

<musicdata>
<music title="基礎英語1" hdate="3月25日放送分" kouza="基礎英語1" code="4252291" file="18-ek1-4252-291.mp4" nendo="2018" pgcode="F0"/>
<music title="基礎英語1" hdate="3月26日放送分" kouza="基礎英語1" code="4252292" file="18-ek1-4252-292.mp4" nendo="2018" pgcode="F0"/>
<music title="基礎英語1" hdate="3月27日放送分" kouza="基礎英語1" code="4252293" file="18-ek1-4252-293.mp4" nendo="2018" pgcode="F0"/>
<music title="基礎英語1" hdate="3月28日放送分" kouza="基礎英語1" code="4252294" file="18-ek1-4252-294.mp4" nendo="2018" pgcode="F0"/>
<music title="基礎英語1" hdate="3月29日放送分" kouza="基礎英語1" code="4252295" file="18-ek1-4252-295.mp4" nendo="2018" pgcode="F0"/>
</musicdata>

重要なのはfileの内容です。
例えば【18-ek1-4252-291.mp4】と記述されています。

前後に固定の文字列を付加して、URLを作成します。

https://nhks-vh.akamaihd.net/i/gogaku-stream/mp4/18-ek1-4252-291.mp4/master.m3u8

このままでは、音声ファイルをダウンロードすることはできません。
細切れのファイルの一覧が記載されたファイルがダウンロードされます。

FFMPEGでダウンロードする

FFMPEGを使うとm3u8ファイルをmp3としてダウンロードできます。
正確には細切れのファイルをダウンロードして結合する作業を自動で行ってくれます。

ffmpeg -i https://nhks-vh.akamaihd.net/i/gogaku-stream/mp4/18-ek1-4252-291.mp4/master.m3u8 -c:a mp3 radio.mp3

このように実行すると【radio.mp3】ファイルがダウンロードできます。

まとめ

手順が面倒なので、できれば自動化したいです。
そして、お金があれば公式のCD付きテキストを買いましょう。
基礎英語のCD付きテキスト

システム開発

Posted by @erestage