Last Updated: February 25, 2016
·
1.805K
· abhishekkr

auto-download all videos of any Event at Confreaks.com

original: http://abhishekkr.wordpress.com/2012/11/28/a-bionic-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
}

1 Response
Add your 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.

over 1 year ago ·

Have a fresh tip? Share with Coderwall community!

Post
Post a tip