auto-download all videos of any Event at Confreaks.com
Auto-Download all smallest size Videos of any provided Event in Confreaks.com
to install it either run
$ sudo curl -L -o /etc/profile.d/ddl-confreaks.sh https://gist.github.com/raw/4137843/e6c6c93ef1c4cbf4cb735de821b74fcec467c170/gistfile1.sh
or copy+paste the shell function below in your shell-load-conf file.
suppose the event resides at URL:
http://confreaks.com/events/rubyconf2012
and you just need to run
$ ddl-confreaks rubyconf2012 ~/Downloads
and it will download all Talk Videos from Ruby Conference 2012 at your ~/Downloads directory...
would download all small Videos found at all talks under that Event Page
https://gist.github.com/abhishekkr/4137843#file-gistfile1-sh
# Usage Example: $ ddl-confreaks rubyconf2012 ~/Downloads/
# save it as /etc/profiles/ddl.confreaks.sh
##
## currently it checks for lowest resolution video mostly {640x360} and downloads it
function ddl-confreaks(){
if [ $# -ne 2 ];
then
echo 'Failed. Syntax: $> ddl-confreaks EVENT_NAME DOWNLOAD_PATH'
return
fi
event=$1
download_path=$2
event_url="http://confreaks.com/events/$event"
echo '[*] Getting all talk urls from the Event Page'
talk_urls=`curl -s $event_url | grep --color -A1 "title" | grep href | sed 's/.*href="/http:\/\/confreaks\.com/' | sed 's/".*//'`
echo '[*] Getting all MP4 Video URLs from the Talk Pages'
for lines in `echo $talk_urls | xargs -L1`;
do
xmp4_url=`echo $lines | xargs curl -s | grep 'application/x-mp4' | tail -1 | sed 's/.*href="//' | sed 's/".*//'`
if [ ! -z $xmp4_url ];
then
echo "Scanned: "$lines
mp4file=`echo $xmp4_url | sed 's/.*\///' | sed 's/\?.*//'`
save_as=$download_path"/"$mp4file
echo "Downloading URL: "$xmp4_url
echo "to "$save_as"....."
wget -c -O $save_as $xmp4_url
fi
done
}
Written by Abhishek Kumar
Related protips
1 Response
Hi Abhishek, nice tip. By the way, I also created a CLI for managing confreaks events/presentations locally, if you interested, you can check it on https://github.com/subosito/confreaks.