いやはや、久方ぶりの更新です。
移動時間に英語の勉強でもしてみようかと先週思い立って、その一貫で英語のポッドキャストでも聞いてみようとしたときの記録です。
幾つかのポッドキャスト取得プログラムを使ってみたのですが、どうもファイル名や保存場所がしっくり来るプログラムが無かったので、シェルスクリプトで自作したという話。
まずは、昔学校の授業で使ってたことでおなじみのVOA
Podcast – VOA – Voice of America English News
ここのサイトは月〜金に更新される“4 Minute Features”を聞く。
取得スクリプトは以下。
#!/bin/bash DIRECTORY="$HOME/Radio/VOA" wget -nd http://feeds.voanews.com/ps/getRSS\?client=Standard\&PID=azHBJZWSH45M06gISfCSXmfXMnqmmj4w\&startIndex=1\&endIndex=500 -O $DIRECTORY/list 2>/dev/null URI=`sed 's/<item>/\n<item>/g' $DIRECTORY/list | sed 's/<\/item>/<\/item>\n/g' | grep item | head -1 | sed 's/>/>\n/g' | sed 's/</\n</g'| grep -v '^$' | grep -P -o 'http.*.false'` TITLE=`sed 's/<item>/\n<item>/g' $DIRECTORY/list | sed 's/<\/item>/<\/item>\n/g' | grep item | sed 's/>/>\n/g' | sed 's/</\n</g'| grep -v '^$' | grep -P -o '.*.Report' | sed 's/ //' | head -1` wget $URI -O $DIRECTORY/$TITLE.mp3 rm $DIRECTORY/list
ここのポッドキャストは提供される名前が常にcontents.mp3で不便なので、更新される日のカテゴリをタイトルにして保存。
つまり、最低一週間は保存される事になる。一週間聞かなかったら上書きされるので、溜まらない。まぁポッドキャストってそんなもんだと思うし。
で、もう一つは今回知ったESL。English as a Second Language Podcast
こっちは“ESL Podcast“ってのを聞く。
取得スクリプトは以下。
#!/bin/bash URI=`w3m -dump_source http://www.eslpod.com/website/index_new.html | grep -P -o 'http://[a-z].*.mp3' | awk '{print $10}' | grep -P -o 'http://[a-z].*.mp3' | head -1| grep ESL` DIRECTORY="/home/takeshi/Radio/ESL" FILENAME=`echo $URI | cut -d / -f6` if [ ! -f $DIRECTORY/$FILENAME ]; then wget $URI -P $DIRECTORY fi
こっちは一日おきに更新されるみたい。
両ポッドキャストともに更新時間がいまいち把握できてないので、とりあえず毎日crontabで回す予定。
実は結構ポッドキャスト取得プログラムをいじって、あーでもないこーでもないとやってた時間より、シェルスクリプト書いた時間の方がはるかに短かった罠。
スポンサーリンク
コメント