本文实例为大家分享了python音乐下载器的具体代码,供大家参考,具体内容如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
import requests import urllib import json from tkinter import * import tkinter.messagebox from tkinter.filedialog import askdirectory class QQMusic(): def __init__( self ): self .interface = Tk() self .interface.title( 'QQ音乐下载器' ) self .SavePath = 'C:/Users' self .entry = None self .label = None def DownloadMusic( self ): res1 = requests.get( 'https://c.y.qq.com/soso/fcgi-bin/client_search_cp?&t=0&aggr=1&cr=1&catZhida=1&lossless=0&flag_qc=0&p=1&n=20&w=' + self .entry.get()) jm1 = json.loads(res1.text.strip( 'callback()[]' ))[ 'data' ][ 'song' ][ 'list' ][ 0 ] mids = jm1[ 'media_mid' ] songmids = jm1[ 'songmid' ] songnames = jm1[ 'songname' ] singers = jm1[ 'singer' ][ 0 ][ 'name' ] res2 = requests.get('https: / / c.y.qq.com / base / fcgi - bin / fcg_music_express_mobile3.fcg?&\ jsonpCallback = MusicJsonCallback&cid = 205361747 &songmid = '+songmids+' &filename = C400 '+mids+' .m4a&guid = 6612300644 ') jm2 = json.loads(res2.text) vkey = jm2[ 'data' ][ 'items' ][ 0 ][ 'vkey' ] srcs = 'http://dl.stream.qqmusic.qq.com/C400' + mids + '.m4a?vkey=' + vkey + '&guid=6612300644&uin=0&fromtag=66' try : urllib.request.urlretrieve(srcs, self .SavePath + '/' + songnames + '-' + singers + '.mp3' ) #.m4a tkinter.messagebox.showinfo( '完成' , '歌曲下载成功\n保存在' + self .SavePath) except : tkinter.messagebox.showerror( '错误' , '下载出错,请重试!' ) def ChangePath( self ): self .SavePath = askdirectory() self .label[ "text" ] = self .SavePath def Run( self ): button = Button( self .interface,text = '下载歌曲' ,command = self .DownloadMusic) button.grid(row = 0 ,column = 1 ,padx = 3 ,pady = 2 ) self .entry = Entry( self .interface,width = 30 ) self .entry.grid(row = 0 ,column = 0 ,padx = 3 ,pady = 2 ) button1 = Button( self .interface,text = '保存位置' ,command = self .ChangePath) button1.grid(row = 1 ,column = 1 ,padx = 3 ,pady = 2 ) self .label = Label( self .interface,text = self .SavePath) self .label.grid(row = 1 ,column = 0 ,padx = 3 ,pady = 2 ) QQ = QQMusic() QQ.Run() |
可以实现音乐的快速制定路径下载。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/Lingdongtianxia/article/details/79835056