6个版本
0.3.21 | 2024年6月23日 |
---|---|
0.3.2 | 2024年6月23日 |
0.2.2 | 2024年6月23日 |
0.1.0 | 2024年5月25日 |
#221 in 音频
每月下载量 239次
42KB
961 行代码
spotify-dl-lib
这是一个Rust库,如果您有高级账户,则允许您下载Spotify歌曲。
功能
- 下载曲目、专辑和播放列表
- 支持mp3(启用mp3功能)和flac格式
- 可配置下载并发性和压缩(压缩仅适用于flac!)
如何使用此库
准备好您的Spotify用户名(您的用户名不是您的显示名)和密码
如果您不知道如何获取您的Spotify用户名,这里有一个快速教程
- 现在您应该已经将您的Spotify个人资料URL复制到剪贴板,在我的情况下,这是我的个人资料URL: https://open.spotify.com/user/xfvf8ol1ezj9bv5la7ty0vzut?si=8a8b7c4b7c5746df
- 此URL中的重要部分是: xfvf8ol1ezj9bv5la7ty0vzut,稍后保存此信息
如果您的应用程序使用UI,一个WebSocket服务器在ws://127.0.0.1:4040上公开:))) 一个使用此WebSocket的示例项目很快就会出现在我的GitHub上:D
示例
use spotify_dl_lib::SpotifyDownloader;
#[tokio::main]
async fn main() {
let username = "your username here";
let password = "your spotify password here";
let output_folder = PathBuf::from("./spotify-dl-data")
//first argument is the name of the folder, where your mp3 files will be dropped (folder will be created in your home dir)
let spotify_dl = SpotifyDownloader::new(&output_folder, &username, &password, Some("ws://127.0.0.1:4040/ws".to_string())).await.unwrap();
//download a playlist, album or track!
let tracks_to_dl = vec![
"https://open.spotify.com/playlist/7lzJ7tSe2N6Cvbsjto4lrq?si=09e7c2f655a840c5".to_string()
];
/*
download the tracks
(2nd argument = parallelism of how many files can be downloaded concurrently (default value is 5 if None))
(3rd argument = compression rate (only for flac format), lower = faster! higher = takes longer due of more processing (default value is 4 if None)
(4th argument = file format, yea the output of your file bruh (only flac and mp3 are supported at the moment)
*/
spotify_dl.download_tracks(tracks_to_dl, None, None, "mp3").await.unwrap();
println!("download finished!");
}
重要!!
使用此项目违反Spotify的使用条款,请自行承担风险。我对于由此项目对您的Spotify账户造成的任何损害/限制不承担责任。
致谢
此项目之所以能够实现,归功于这个惊人的项目 <3 向所有人致以最诚挚的感谢。如果您正在寻找仅用于下载Spotify歌曲的CLI解决方案,请继续使用提到的项目。
依赖项
~32-47MB
~758K SLoC