さて、先の震災でIBCラジオを好んで聴くようになったという事情に加え、radikoの復興支援企画などがあって前から気になっていたIBCのPodcastにも手を出し始めた。イヤー、マイッタマイッタなるものだが、知る人ぞ知る評判のPodcastのようで、なかなか面白い。
ところが、バックナンバーが公式サイト(で公開されているXMLファイル)では100件ほどしかない。それより前のは無いかと調べたところ、データ自体はIBCのサーバーにあるらしくファイル名のリストさえ入手できれば順次ダウンロードできることが判明。
2011/10 このサイトは閉鎖された模様です。多分このプログラムは関係ない・・はず。多分。
で、本題。ダウンロードすべきファイルは正規表現で抽出できるはず(このブログの前半でPHPをいじって感覚はわかる)。しかも来学期にはRubyをつかう講義(選択制)があるというではないか。ここは感触をつかむためにも一括ダウンロードプログラムを書いてみようという事になった。
抽出の正規表現は
/http\:\/\/podcast\.ibc\.co\.jp\/kurenainobuta\/\S+maitta\S+\.mp3/
で良いであろう。「お富の相談室」は量が多くなるのでとりあえずパス。"kurenainobuta"の意味がいまいちわからないが気にしない。
まずはHTMLの取得プログラムだが検索すれば簡単に見つかる。
それを参考に、各行に対する処理をする。
具体的には、前の正規表現でscanをし、配列をつくる。サイズが0なら空なので無視して、そうでなければ、一行にファイルはひとつという原則に則ってダウンロードすべきファイルのリスト配列にどんどん突っ込んでいく。
最後にダウンロードしていいかをy/nで聞いてOKならダウンロード開始。自分しか使わないので、大文字のYで答えると操作終了になってしまうが、気にしない。
ダウンロードのプログラムも、画像取得プログラムを参考に作ることができる。
うーん。こういうのを作ってみるとCUIもあながち捨てたものじゃないな。
ただし、自分でも試したい人は自己責任で。別にちまちま例のサイトでダウンロードしながら聞くのもいいと思う。
--更新
そして画面上は変えるのを忘れてしまったが、v1.1として
①ダウンロード元全ページ数の自動取得・ファイル総数の取得
→***files foundの部分・(0-25)の部分
②ANSI カラーコードを意味もなく使う
③「downloading なんちゃら」と表示しながらダウンロードし、終わったら「downloadedなんちゃら」に更新
④データのフォルダ分け
なるものを作ってみた。
--さらに追記
初めの方はファイル名の書式が違う模様。
第1回 http://podcast.ibc.co.jp/maitta/index.php?itemid=23
第2回 http://podcast.ibc.co.jp/maitta/index.php?itemid=42
....
これはGoogle検索で探せば良い。iTunesのXMLファイルとしては100件の制限があるものの、Web上では無制限に見られる。
以下に即席のGoogle検索ツールをつけておくので、「イヤー、マイッタマイッタ」の第**回を聞きたい!という人はテキストボックスに数値を入れて「検索」をクリック。
「イヤー、マイッタマイッタ」第回をGoogleで
*検索窓に自動入力されますので手動で検索を実行してください。
0 件のコメント:
コメントを投稿