python soundcloud api
soundcloud-lib的Python项目详细描述
soundcloud库
这是一个soundcloud api库,不需要客户端id就可以运行。它是基本的,它实际上只能获取曲目和播放列表,但不需要用户通过soundcloud应用程序审批流程
为什么
我曾经申请过API访问并获得批准我使用这个访问数月,直到它因某种原因被撤销,我的所有电子邮件和新的申请被忽略我决定创建一个库,允许我在没有经过批准的应用程序的情况下完成soundcloud api的工作。
功能
- 支持异步
- 不需要客户ID
- 获取并写入MP3元数据(唱片集艺术家、标题、艺术品)
- 可以获取曲目的整个播放列表
安装
这个库可以作为pip包安装
pip install soundcloud-lib
如何
此库使用编程和算法查找可用于访问Soundcloud API的客户端ID
将mp3保存到文件中
这将写专辑艺术家,曲目标题的ID3标签,并将专辑艺术嵌入MP3。
fromsclibimportSoundcloudAPI,Track,Playlistapi=SoundcloudAPI()# never pass a Soundcloud client ID that did not come from this librarytrack=api.resolve('https://soundcloud.com/itsmeneedle/sunday-morning')asserttype(track)isTrackfilename=f'./{track.artist} - {track.title}.mp3'withopen(filename,'wb+')asfp:track.write_mp3_to(fp)
获取播放列表
fromsclibimportSoundcloudAPI,Track,Playlistapi=SoundcloudAPI()playlist=api.resolve('https://soundcloud.com/playlist_url')asserttype(playlist)isPlaylistfortrackinplaylist.tracks:filename=f'./{track.artist} - {track.title}.mp3'withopen(filename,'wb+')asfp:track.write_mp3_to(fp)
异步支持
fromsclib.asyncioimportSoundcloudAPI,Trackapi=SoundcloudAPI()track=awaitapi.resolve('https://soundcloud.com/user/track')asserttype(track)isTrackfilename=f'{track.artist} - {track.title}.mp3'withopen(filename,'wb+')asfp:awaittrack.write_mp3_to(fp)
获取播放列表
fromsclib.asyncioimportSoundcloudAPI,Track,Playlistapi=SoundcloudAPI()playlist=awaitapi.resolve('https://soundcloud.com/playlist_url')asserttype(playlist)isPlaylistfortrackinplaylist.tracks:filename=f'./{track.artist} - {track.title}.mp3'withopen(filename,'wb+')asfp:awaittrack.write_mp3_to(fp)
写入唱片集名称或曲目编号
fromsclibimportSoundcloudAPI,Track,Playlistplaylist=SoundcloudAPI().resolve("https://soundcloud.com/user/sets/playlist_name")fortrack_number,trackinenumerate(playlist):track.track_no=track_numbertrack.album=playlist.titlewithopen(f"{track.artist} - {track.title}.mp3","wb+")asfile:track.write_mp3_to(file)
错误或功能
请使用“问题”选项卡报告所有错误
也可以随意要求新功能。
贡献
当然,提交一个请求。