一个基于Flask的后端,可以从Spotify搜索和下载音乐

spotify-flask-downloader的Python项目详细描述


spotify-flask-downloader

一个基于烧瓶的后端,用于从Spotify搜索和下载音乐。

这是一个基于烧瓶的后端,可以根据你的网络请求,通过在Spotify中搜索从YouTube下载音乐。在

安装

pip3 install spotify-flask-downloader

依赖关系

ProjectMaintainer
flaskpallets
flask-corscorydolphin
youtube-dlytdl-org
youtube-search-pythonalexmercerind

像模块一样?在

考虑在存储库中添加星号。请随意使用。在

如果你找到了一个问题,请随时公开。在

使用

启动服务器

执行这个脚本,让它在后台运行,就像你在玩这个模块一样。在

^{pr2}$

您可以使用requestsurllib之类的东西来访问这个flask服务器。在

搜索音乐

importrequestsresponse=requests.get("http://localhost:5000/search",params={"keyword":"Faded Alan Walker",#Search Query"mode":"track",#Default is "album", Supports "album" & "track""offset":0,#Default is 0"limit":1#Default is 50})print(response.json())
  • 回应
{"tracks":[{"track_id":"7gHs73wELdeycvS48JfIos","track_name":"Faded","track_artists":["Alan Walker"],"track_number":1,"track_duration":212626,"album_id":"5HMjpBO0v78ayq5lreAyDd","album_name":"Faded","year":"2015","album_artists":["Alan Walker"],"album_art_640":"https://i.scdn.co/image/ab67616d00001e02c4d00cac55ae1b4598c9bc90","album_art_300":"https://i.scdn.co/image/ab67616d0000b273c4d00cac55ae1b4598c9bc90","album_art_64":"https://i.scdn.co/image/ab67616d00004851c4d00cac55ae1b4598c9bc90","album_length":4,"album_type":"single"}]}

将曲目保存到设备

importrequestsresponse=requests.get("http://localhost:5000/savetrack",params={"track_id":"7gHs73wELdeycvS48JfIos"})print(response.json())
  • 回应
Downloading...
它将曲目保存到%userprofile%\.ReactMusic\Library

获取“保存曲目到设备”状态

importrequestsresponse=requests.get("http://localhost:5000/savetrackstatus")print(response.json())
  • 回应

  • True

    • 如果没有下载曲目,您可以下载曲目。在
  • False

    • 如果正在下载曲目,您必须等待,直到响应变为真

获取曲目下载链接

importrequestsresponse=requests.get("http://localhost:5000/trackdownload",params={"track_id":"7gHs73wELdeycvS48JfIos"#Alternatively you can provide "track_name" in place of "track_id"})print(response.json())
  • 回应
{"download_url":"https://r8---sn-gwpa-5bgs.googlevideo.com/videoplayback?expire=1594409257&ei=yWwIX_3rNJOWvQSFwI5A&ip=2409%3A4053%3A2196%3Ad6fa%3Ac8bf%3Ab2d8%3A81bb%3Aad05&id=o-AE3zCFHWH5aAUBwVqKVBijX3Vjd9xf4LSZ5uyIa8l2qY&itag=249&source=youtube&requiressl=yes&mh=Hp&mm=31%2C29&mn=sn-gwpa-5bgs%2Csn-gwpa-qxa6&ms=au%2Crdu&mv=m&mvi=8&pl=36&initcwndbps=175000&vprv=1&mime=audio%2Fwebm&gir=yes&clen=1360728&dur=212.501&lmt=1576159977750934&mt=1594387597&fvip=8&keepalive=yes&c=WEB&txp=5531432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cvprv%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRAIgP_4WHdnJO0h1wde12DLTcrfAQ8ShLLIezFkfO0AjRdoCIBqTZqhOP8kp7amBJObCMzKNJ_vzXZdvJcnY8j4PTAm0&sig=AOq0QJ8wRgIhAJe-DBmBKmfBx8dJcoKyp_WCeXg3Q3WKfxAvw4ztUwbVAiEApLFfh9DK9rRkkSRDSqPhXgUXdtStDUZOok2gxzEHhTY=&ratebypass=yes"}

获取曲目信息

importrequestsresponse=requests.get("http://localhost:5000/trackinfo",params={"track_id":"7gHs73wELdeycvS48JfIos",})print(response.json())
  • 回应
{"track_id":"7gHs73wELdeycvS48JfIos","track_name":"Faded","track_artists":["Alan Walker"],"track_number":1,"track_duration":212626,"album_art_640":"https://i.scdn.co/image/ab67616d00001e02c4d00cac55ae1b4598c9bc90","album_art_300":"https://i.scdn.co/image/ab67616d0000b273c4d00cac55ae1b4598c9bc90","album_art_64":"https://i.scdn.co/image/ab67616d00004851c4d00cac55ae1b4598c9bc90","album_id":"5HMjpBO0v78ayq5lreAyDd","album_name":"Faded","year":"2015","album_artists":["Alan Walker"],"album_length":4,"album_type":"single"}

获取专辑曲目

importrequestsresponse=requests.get("http://localhost:5000/albuminfo",params={"album_id":"5HMjpBO0v78ayq5lreAyDd",})print(response.json())
  • 回应
{"tracks":[{"track_id":"7gHs73wELdeycvS48JfIos","track_name":"Faded","track_artists":["Alan Walker"],"track_number":1,"track_duration":212626},{"track_id":"0HmONWWIU1FXkwWLDpqrjl","track_name":"Faded - Instrumental","track_artists":["Alan Walker"],"track_number":2,"track_duration":214013},{"track_id":"34F4GJFUzPvPJmGrTpyqlZ","track_name":"Faded (Restrung)","track_artists":["Alan Walker"],"track_number":3,"track_duration":217053},{"track_id":"0RLjnX1vYWvtdThB8LABwo","track_name":"Faded - Piano Version","track_artists":["Alan Walker"],"track_number":4,"track_duration":215080}]}

在YouTube上搜索

importrequestsresponse=requests.get("http://localhost:5000/searchyoutube",params={"keyword":"Faded Alan Walker",#Search Query"mode":"json",#Default is "json", Supports "json", "list" & "dict""offset":1,#Default is 1"max_results":1#Default is 1})print(response.json())
  • 回应
{"search_result":[{"index":0,"id":"60ItHLz5WEA","link":"https://www.youtube.com/watch?v=60ItHLz5WEA","title":"Alan Walker - Faded","channel":"Alan Walker","duration":"3:33","views":2806875809,"thumbnails":["https://img.youtube.com/vi/60ItHLz5WEA/default.jpg","https://img.youtube.com/vi/60ItHLz5WEA/hqdefault.jpg","https://img.youtube.com/vi/60ItHLz5WEA/mqdefault.jpg","https://img.youtube.com/vi/60ItHLz5WEA/sddefault.jpg","https://img.youtube.com/vi/60ItHLz5WEA/maxresdefault.jpg"]}]}

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java初学者Swing递归   java将hashmap转换为JSON字符串   cURL和java字符串变量出错   java为什么不将其视为多重继承,而所有类都首先从对象类扩展,然后再扩展其他类   java如何在eclipse中添加插件依赖项   使用java从Ms word表中提取图片   java实现可比较的接口   验证生成的事务时发生java错误。木栓   java@OneToMany和不同的主键   java Jaxb2在相对路径上找不到xsd架构   java客户端C++服务器数据发送/接收问题   javajaxws-webservice。改变节点结构   java如何将带有特殊字符的字符串转换为另一个转义字符串   netbeans如何链接JGraph传感器和Java邮件?   java如何在单个tomcat中检查每个web应用程序的内存大小?   客户端图形QLJava类生成器