Coder Social home page Coder Social logo

yackx / soundcloud Goto Github PK

View Code? Open in Web Editor NEW
88.0 9.0 22.0 28 KB

Simple Python script to download music from SoundCloud, using API or HTML scrapping ๐ŸŽง๐Ÿ

License: GNU General Public License v3.0

Python 100.00%
python soundcloud

soundcloud's Introduction

SoundCloud Downloader

A simple Python script to download music from SoundCloud, using either their API or HTML scrapping. Contains a limited amount of functionalities.

Install

  1. Clone this repository

    git clone https://github.com/yackx/SoundCloud.git

  2. Install libraries

You need Python 2.7.5 or above and the following library:

  • SoundCloud client: pip install soundcloud. Refer to their documentation for alternate installation methods (easy_install, apt-get, ...).
  1. Get your client id

You also need a CLIENT ID from SoundCloud. It is as simple as registering your "app".

Download a track

youri:SoundCloud $ python download.py -h
usage: download.py [-h] [--track TRACK] [--playlist PLAYLIST] --id ID
                   [--override]

Download a SoundCloud sound or a complete playlist

optional arguments:
  -h, --help            show this help message and exit
  --track TRACK, -s TRACK  Download a single track
  --playlist PLAYLIST, -p PLAYLIST
                        Download all tracks from a public playlist
  --id ID, -i ID        Client ID
  --override, -d        Override file if it exists. Defaults to false

To download a track, copy the track page URL from your browser:

youri:SoundCloud $ python download.py --id my_id --track https://soundcloud.com/dj-crontab/indiscriminate-killers
Found: 'Indiscriminate Killers'

The track will be downloaded to a mp3 folder under the current directory.

Download a playlist

To download all tracks from a playlist, make sure the playlist URL is accessible without password:

  • Either by making the playlist public or
  • By using its "sharing URL". To do so, go to the playlist and click on the "Share" button. Copy the "Private Share" URL that appears.

Example:

youri:SoundCloud $ python download.py --id my_id --playlist https://soundcloud.com/its-me/sets/my-list/sharecode
Found: 'Execute Every Minute'
File already exists, skipped
Found: 'Indiscriminate Killers'
Found: 'Above & Beyond pres. OceanLab - Satellite (ilan Bluestone Remix) [Out Now]'
Error: could not download
Found: 'Missiles at a Wedding - Heavy'
Found: 'CASHMERE'
Downloaded: 3, Skipped: 1, Errors: 1

Notice that, for some reason, some titles cannot be downloaded, probably due to restriction set by the author or poster.

The track will be downloaded to a folder named mp3/playlist_title under the current directory.

Download all playlists

To download all tracks from all playlists of a user:

youri:SoundCloud $ python download.py --id my_id --all http://soundcloud.com/some-user

The playlists must be public.

Unit tests

Close to zero at the time. Use py.test:

youri:SoundCloud $ py.test -q tests
.
1 passed in 0.08 seconds

soundcloud's People

Contributors

yackx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

soundcloud's Issues

Working ways to get client ID?

Currently registering new apps is not avaliable. What other method to get client id or is there are some that could be used?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.