scdl/README.md

110 lines
3.8 KiB
Markdown
Raw Normal View History

2019-08-22 12:58:24 -07:00
# Soundcloud Music Downloader
2014-10-23 15:16:37 -07:00
## Description
2017-04-11 03:11:23 -07:00
This script is able to download music from SoundCloud and set id3tag to the downloaded music.
2016-08-27 07:42:48 -07:00
Compatible with Windows, OS X, Linux.
2014-10-23 15:16:37 -07:00
2014-12-28 02:48:43 -08:00
2014-10-23 15:16:37 -07:00
## System requirements
* Python3
2014-12-28 02:48:43 -08:00
2014-10-23 15:16:37 -07:00
## Instructions
2014-10-26 16:52:28 -07:00
### Installation
2016-02-13 09:24:36 -08:00
```
pip3 install scdl
```
2016-08-27 07:33:16 -07:00
or
2016-02-13 09:24:36 -08:00
```
2020-01-14 12:04:25 -08:00
pip install git+https://github.com/flyingrub/scdl
2016-08-27 07:33:16 -07:00
```
or
### Gentoo
```
layman -fa glicOne
sudo emerge -av net-misc/scdl
```
2016-02-13 09:24:36 -08:00
(Optional) Setup your path and your auth_token in `$HOME/.config/scdl/scdl.cfg`
2014-10-23 15:16:37 -07:00
2014-10-26 16:52:28 -07:00
2017-04-11 03:11:23 -07:00
### Authentication
2017-07-27 11:48:16 -07:00
> Soundcloud has banned all our client_id so we cannot use authentication for now.
2014-10-28 15:06:14 -07:00
2014-12-07 17:15:43 -08:00
* This allows scdl to access to your user profile data.
* You need to have this set to be able to use the `me` option
2014-10-23 15:16:37 -07:00
2014-12-28 02:48:43 -08:00
2014-10-23 15:16:37 -07:00
## Help
2016-03-01 10:18:25 -08:00
### Examples:
2016-02-13 09:34:40 -08:00
```
# Download track & repost of the user QUANTA
scdl -l https://soundcloud.com/quanta-uk -a
# Download likes of the user Blastoyz
scdl -l https://soundcloud.com/kobiblastoyz -f
# Download one track
scdl -l https://soundcloud.com/jumpstreetpsy/low-extender
# Download one playlist
scdl -l https://soundcloud.com/pandadub/sets/the-lost-ship
2017-04-11 03:11:23 -07:00
2017-12-24 02:35:27 -08:00
# Download only new tracks from a playlist
2018-07-12 02:40:13 -07:00
scdl -l https://soundcloud.com/pandadub/sets/the-lost-ship --download-archive archive.txt -c
2017-12-24 02:35:27 -08:00
2017-04-11 03:11:23 -07:00
# Download your likes (with authentification token)
scdl me -f
2016-02-13 09:34:40 -08:00
```
2014-10-23 15:16:37 -07:00
### Options:
```
2017-12-24 02:35:27 -08:00
-h --help Show this screen
--version Show version
me Use the user profile from the auth_token
-l [url] URL can be track/playlist/user
-s Download the stream of a user (token needed)
2018-01-08 05:54:04 -08:00
-a Download all tracks of user (including reposts)
2017-12-24 02:35:27 -08:00
-t Download all uploads of a user (no reposts)
-f Download all favorites of a user
-C Download all commented by a user
-p Download all playlists of a user
2018-01-08 05:54:04 -08:00
-m Download all liked and owned playlists of user
2017-12-24 02:35:27 -08:00
-c Continue if a downloaded file already exists
-o [offset] Begin with a custom offset
2018-01-08 05:54:04 -08:00
--addtimestamp Add track creation timestamp to filename, which allows for chronological sorting
--addtofile Add artist to filename if missing
2017-12-24 02:35:27 -08:00
--debug Set log level to DEBUG
2018-01-08 05:54:04 -08:00
--download-archive [file] Keep track of track IDs in an archive file, and skip already-downloaded files
--error Set log level to ERROR
--extract-artist Set artist tag from title instead of username
2017-12-24 02:35:27 -08:00
--hide-progress Hide the wget progress bar
2018-01-08 05:54:04 -08:00
--hidewarnings Hide Warnings. (use with precaution)
--max-size [max-size] Skip tracks larger than size (k/m/g)
--min-size [min-size] Skip tracks smaller than size (k/m/g)
--no-playlist-folder Download playlist tracks into main directory, instead of making a playlist subfolder
--onlymp3 Download only the streamable mp3 file, even if track has a Downloadable file
--path [path] Use a custom path for downloaded files
--remove Remove any files not downloaded from execution
2014-10-23 15:16:37 -07:00
```
## Features
2014-12-07 17:15:43 -08:00
* Automatically detect the type of link provided
* Download all songs from a user
* Download all songs and reposts from a user
* Download all songs from one playlist
* Download all songs from all playlists from a user
* Download all songs from a user's favorites
2017-12-24 02:35:27 -08:00
* Download only new tracks from a list (playlist, favorites, etc.)
2017-04-11 03:11:23 -07:00
* Set the tags with mutagen (Title / Artist / Album / Artwork)
2016-02-13 09:34:40 -08:00
* Create playlist files when downloading a playlist
2014-10-23 15:16:37 -07:00
## License
2016-08-27 07:42:48 -07:00
[GPL v2](https://www.gnu.org/licenses/gpl-2.0.txt), original author [flyingrub](https://github.com/flyingrub)