Welcome!
This is the community forum for my apps Pythonista and Editorial.
For individual support questions, you can also send an email. If you have a very short question or just want to say hello — I'm @olemoritz on Twitter.
Soundcloud Downloader
-
Yup, decided to do another one - mostly because it was interesting and this one <b>definitely</b> wasn't going to be available in app form.
As before with my other downloader, this particular script relies on the free 'iDownloads PLUS - Download Manager!' app in the app store (though it can be retooled to use other downloaders, provided they have a custom URL for launching the download URL in the app). I just happen to like this one because it's free and offers background downloads and 'Open In' functionality to move files afterwards.
http://gist.github.com/pudquick/5394702
Usage is with the bookmark listed at the bottom of the gist.
Visit a page in Safari on Soundcloud (m.soundcloud.com) on your iOS device, find one with a song you like, then click on the bookmark to trigger a download of the .mp3 (even if the page does not offer a direct download link itself).
Unfortunately the limitations of iOS make it so that .mp3 files you download can't be added to your device's music library programmatically. You'll have to save the .mp3 file from your device to iTunes and then sync it back to your device (or have a separate music player app, of which there are many, that you can 'Open In' the .mp3 file). In the meantime, iDownloads also offers a built-in media player so you can get to the listening :)
<strike>There's an issue at the moment where the script takes a long delay in attempting to get a client id for the download. I'm not quite sure why it's doing that. When I was testing the script on my MBP, I didn't experience delays even remotely similar. I'll work on that more later when I get a chance and hopefully eliminate the delay.</strike>
-
<b>Update:</b> Figured out what the problem was! It was a slowness in the engine for converting the text response of an HTTP request. On a desktop machine, it's relatively quick (requests.get('http://something').text), but on an iOS device it's too much.
So I forced the CDN to offer up the uncompressed javascript and just directly access the bytes in the response as a string with .content instead of .text. Works great!
Now song downloads are almost instantaneous! 😄
-
You sir are a god among programmers.
-
work for me, thanx!!!
-
I'm having trouble getting this to work for some reason. I get an 'invalid syntax' error on line 16 where all the header info is. Any idea what could be causing this?
-
@pudquick, you've done it again
-
There was an error message while trying this script -
Line 20 Index Error:List index out of range.
The original script refers to this URL in line 20
m-a.sndcdn.com
But when I looked at the source code for the mp3 I was trying to download
I see that it is
m-a-tb.sndcdn.com
So I updated the Script with this new URL, in 2 places
line 20
line 24
and tried again , this time it launched the iDownloads+ App
and Downloaded OK.
..................................
20 the_js = find_xtsite_js.rsplit('m-a-tb.sndcdn.com',1)[1].split('"',1)[0].split('/')[-1]
21 print " .. getting client_id .. "
22 new_headers = {'Accept-Encoding': 'identity', 'Connection': 'close'}
23 sess.headers.update(new_headers)
24 find_client_id = sess.get('http://m-a-tb.sndcdn.com/' + the_js) -
This post is deleted! -
This post is deleted! -
This post is deleted! -
Thanks for the useful information. It help a lot.
-
Seeing something like this for the first time
Never knew that the content from SoundCloud can be downloaded! This is surely an eye opener. -
You can use extension to download from sound cloud.
-
Thanks for the inforation.
-
Thanks for this information. It really helpful for me. Also if you face any connectivity trouble while downloading you may refer router login guide. It's useful.
-
This post is deleted! -
This post is deleted! -
This post is deleted!