Save this script as 'radio'
#!/bin/bash
set -e
TMP="/tmp/radio-`perl -le 'print localtime()'`"
mkfifo $TMP
DATE=`date +%Y-%m-%d`
MP3="$HOME/Desktop/$3 $DATE.mp3"
lame $TMP -o "$MP3" $2 --tt "$DATE" --tl "$3" --ta "$4" --ty "`date +%Y`" --add-id3v2 --pad-id3v2 --ignore-tag-errors --quiet &
LAME_PID=$!
mplayer -playlist "$1" -vc null -vo null -prefer-ipv4 -bandwidth 8000000 -ao pcm:file=$TMP &
MPLAYER_PID=$!
trap "kill $MPLAYER_PID; echo 'killed recording'; exit" HUP INT TERM
trap "kill $LAME_PID; rm $TMP; exit" EXIT
wait $MPLAYER_PID
Then run it weekly like this:
radio "http://www.bbc.co.uk/radio/aod/shows/rpms/radio4/civilisation.rpm" \
"-V 2" "Chris Addison: Civilisation" "BBC Radio 4"
or like this:
radio "http://www.bbc.co.uk/radio/aod/shows/rpms/radio1/breezeblock.rpm" \
"-V 2" "Mary Anne Hobbs: Breezeblock" "BBC Radio 1"
To automatically add the MP3 to iTunes (on Mac OS X) when it's complete, add this line to the end of the script:
osascript -e "tell application \"iTunes\" to add POSIX file \"$MP3\" to playlist named \"Radio\""
Comments
All fields are optional, email address will not be shown; no HTML, URLs are automatically hyperlinked.

just thank you !
for weks i tried to do that. You gave a simple and easy way.
thanks.