PythonでNHKのラジオ基礎英語3を一気に落とすスクリプトを書いた
RTMPDumpを使う。っつっても、自作のFLVからMP3抽出するプログラム(flvmp3rip)とかを呼んでるし、第三者にはそもそも使う事ができないという。
まあ何かの参考にでもどうぞ。
from xml.dom import minidom, Node import os import shutil import urllib SAVEDIR = '/Users/peryaudo/Documents/nhkrtmp' KOUZALIST = ['english/basic3'] def download(music): kouza = music.getAttribute("kouza") hdate = music.getAttribute("hdate") file = music.getAttribute("file") if not os.path.exists(kouza): os.mkdir(kouza) os.system('rtmpdump -r "rtmp://flv9.nhk.or.jp/flv9/_definst_/flv:gogaku/streaming/flv/' + file + '" -o temp.flv') os.system('flvmp3rip temp.flv') os.remove('temp.flv') shutil.move('temp.mp3', kouza + '/' + hdate + '.mp3') if __name__ == '__main__': for kouzaid in KOUZALIST: listdata = minidom.parseString(urllib.urlopen('http://www.nhk.or.jp/gogaku/' + kouzaid + '/listdataflv.xml').read()) for music in listdata.getElementsByTagName('music'): os.chdir(SAVEDIR) download(music)
汚ないのは取り急ぎで書いたからです。もうちょっと書こうと思えばきれいにも書けると思います。