{"id":546,"date":"2011-05-23T12:48:27","date_gmt":"2011-05-23T12:48:27","guid":{"rendered":"https:\/\/fir3netwp.gmsrrpobkbd.com\/2011\/05\/23\/sound-cloud-downloader-bash-script\/"},"modified":"2021-07-31T18:16:37","modified_gmt":"2021-07-31T18:16:37","slug":"sound-cloud-downloader-bash-script","status":"publish","type":"post","link":"https:\/\/www.fir3net.com\/Programming\/Shell-Scripting\/sound-cloud-downloader-bash-script.html","title":{"rendered":"SoundCloud Downloader BASH Script"},"content":{"rendered":"
SoundCloud allows artists and producers to upload and promote music across the internet.<\/p>\n
This article provides a Linux based script which downloads all tracks for a given artist.<\/p>\n
#!\/bin\/bash\r\n\r\nif [ -z \"$1\" ]; then\r\n echo \"Usage: `basename $0` [URL]\";\r\n echo\r\n echo \"Example:\"\r\n echo \" `basename $0` http:\/\/soundcloud.com\/disco-dave\";\r\n exit\r\nfi\r\n\r\npage=`wget $1 -q --user-agent='Mozilla\/5.0' -O -`\r\npagetotal=`echo \"$page\" | tr '\"' \"\\n\" | grep \"tracks?page=\" | sort -u | tail -n 1 | cut -d \"=\" -f 2`\r\n\r\necho \"[*] Processing ...\"\r\n\r\nx=1\r\nwhile [ $x -le $((`echo $pagetotal`)) ]\r\ndo\r\n page=`wget $1\/tracks?page=\"${x}\" -q --user-agent='Mozilla\/5.0' -O -`\r\n songs=`echo \"${page}\" | grep 'streamUrl' | tr '\"' \"\\n\" | grep 'http:\/\/media.soundcloud.com\/stream\/'`;\r\n titles=`echo \"${page}\" | grep 'title\":\"' | tr ',' \"\\n\" | grep 'title' | cut -d '\"' -f 4 | sed 's\/\\\/\/ vs \/g'`\r\n songs2=$songs$'\\n'$songs2\r\n titles2=$titles$'\\n'$titles2\r\n x=$(( $x + 1 ))\r\ndone\r\n\r\nif [ -z \"${songs2}\" ]; then\r\n echo \"No song(s) found at this url.\";\r\n exit;\r\nfi\r\n\r\nsongcount=$((`echo \"$songs2\" | wc -l` - 1))\r\n\r\necho \"[*] Found $songcount songs!\";\r\n\r\nfor (( songid=1; songid <= $songcount; songid++ ))\r\ndo\r\n title=`echo \"${titles2}\" | sed -n \"${songid}\"p`\r\n echo \"[*] Downloading \"${title}\"...\"\r\n wget -L `echo \"${songs2}\" | sed -n \"${songid}\"p` -q --user-agent='Mozilla\/5.0' -O \"`echo $title`.mp3\";\r\ndone\r\n\r\n<\/pre>\nEXAMPLE<\/strong><\/h4>\n
root@server]# bash soundcloud.sh http:\/\/soundcloud.com\/djname<\/pre>\n[*] Processing …
\n[*] Found 18 songs!
\n[*] Downloading song1…<\/p>\n","protected":false},"excerpt":{"rendered":"SoundCloud allows artists and producers to upload and promote music across the internet. This article provides a Linux based script which downloads all tracks for a given artist. SCRIPT #!\/bin\/bash if [ -z “$1” ]; then echo “Usage: `basename $0` [URL]”; echo echo “Example:” echo ” `basename $0` http:\/\/soundcloud.com\/disco-dave”; exit fi page=`wget $1 -q –user-agent=’Mozilla\/5.0′ … Read more<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[40],"tags":[],"yoast_head":"\n
SoundCloud Downloader BASH Script - Fir3net<\/title>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t\n