Podcast(3)ポッドキャスト英会話 eChat Vancouver


英語は使わないとすぐに忘れてしまう。
無料でダウンロードできる Podcast の英会話番組を見つけたので、 ダウンロードスクリプトを書いてみた。

ポッドキャスト英会話 eChat Vancouver

ポッドキャスト英会話 eChat Vancouver 全て表示 というページがあって、ここからバックナンバーも含めてダウンロード ができる。
(1)全て表示 を wget で取得し、
(2)"第x回 MP3 へのリンク"を切り出し、
(3)そのファイルがなければ取得する
スクリプトを書いた。
bash-2.04$ cat /usr/local/sbin/echat_Vancouver.sh
#!/bin/sh

DIR=/mnt/Music/MP3/eChatVancouver
if [ ! -d $DIR ]
then
        mkdir $DIR || exit
fi

wget http://syndy.jp/podcasting/echat/all.html -O /tmp/all.html

nkf -e /tmp/all.html |
sed -n -e 's/^.*第[     ]*\([0-9][0-9]*\)[      ]*回.*\(http:.*mp3\).*$/\1 \2/p' |
while read N URL
do
        case $N in
        [0-9])
                No="00$N"
                ;;
        [0-9][0-9])
                No="0$N"
                ;;
        [0-9][0-9][0-9])
                No="$N"
                ;;
        *)
                continue
                ;;
        esac
        FILENAME="$No"_`basename $URL`
        # echo $FILENAME

        if [ ! -s $DIR/$FILENAME ]
        then
                wget $URL -O $DIR/$FILENAME
                sleep 10
        fi
done

rm /tmp/all.html
bash-2.04$
"第" の右の [] の中2ヶ所は、スペースとタブである。

初回は全ファイルを取り寄せたので一時間以上かかった。
明日からは追加されたファイルだけを取り寄せるので、すぐだろう。

自動実行

cron に登録しておく
[root@link /root]# crontab -l
# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (/tmp/crontab.4757 installed on Sat Nov 11 10:12:59 2006)
# (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)
	:
	:
# Podcast
20 7 * * 1-5 /bin/sh /usr/local/sbin/echat_Vancouver.sh # 2>/dev/null 1>/dev/null
[root@link /root]#
手動で起動するとうまく行くが、 cron からだと動かないことが往々にしてある。
エラーを /dev/null にリダイレクトするのは動くのが確認できてから。


Softbank 3G + ubiqun(2)
ハックの記録
LinkStation/玄箱 をハックしよう

Muvo^2 4GB

Copyright (C) 2006 Yasunari Yamashita. All Rights Reserved.
yasunari @ yamasita.jp 山下康成@京都府向日市