python实现音乐下载器


Posted in Python onApril 15, 2018

本文实例为大家分享了python音乐下载器的具体代码,供大家参考,具体内容如下

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()

可以实现音乐的快速制定路径下载。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python使用心得之获得github代码库列表
Jun 25 Python
python打开文件并获取文件相关属性的方法
Apr 23 Python
Python import用法以及与from...import的区别
May 28 Python
Python实现查找系统盘中需要找的字符
Jul 14 Python
pip安装Python库时遇到的问题及解决方法
Nov 23 Python
pandas系列之DataFrame 行列数据筛选实例
Apr 12 Python
python 通过logging写入日志到文件和控制台的实例
Apr 28 Python
python wxpython 实现界面跳转功能
Dec 17 Python
一些关于python 装饰器的个人理解
Aug 31 Python
SpringBoot首页设置解析(推荐)
Feb 11 Python
Django与AJAX实现网页动态数据显示的示例代码
Feb 24 Python
教你怎么用Python实现多路径迷宫
Apr 29 Python
tensorflow 1.0用CNN进行图像分类
Apr 15 #Python
tensorflow学习笔记之mnist的卷积神经网络实例
Apr 15 #Python
tensorflow学习笔记之简单的神经网络训练和测试
Apr 15 #Python
Pytorch入门之mnist分类实例
Apr 14 #Python
pytorch构建网络模型的4种方法
Apr 13 #Python
Python输入二维数组方法
Apr 13 #Python
Python基于递归实现电话号码映射功能示例
Apr 13 #Python
You might like
php中的常用魔术方法总结
2013/08/02 PHP
PHP中文乱码解决方案
2015/03/05 PHP
2款PHP无限级分类实例代码
2015/11/11 PHP
Thinkphp结合AJAX长轮询实现PC与APP推送详解
2017/07/31 PHP
Laravel框架表单验证操作实例分析
2019/09/30 PHP
PHP使用gearman进行异步的邮件或短信发送操作详解
2020/02/27 PHP
基于jquery的loading 加载提示效果实现代码
2011/09/01 Javascript
js点击更换背景颜色或图片的实例代码
2013/06/25 Javascript
jquery无法设置checkbox选中即没有变成选中状态
2014/03/27 Javascript
IE及IE6浏览器中判断JS文件加载成功失败的方法
2015/02/18 Javascript
JS右下角广告窗口代码(可收缩、展开及关闭)
2015/09/04 Javascript
Nodejs实战心得之eventproxy模块控制并发
2015/10/27 NodeJs
详解jQuery向动态生成的内容添加事件响应jQuery live()方法
2015/11/02 Javascript
学习使用bootstrap3栅格系统
2016/04/12 Javascript
详解vue.js移动端导航navigationbar的封装
2017/07/05 Javascript
bootstrap表格内容过长时用省略号表示的解决方法
2017/11/21 Javascript
Vue 动态添加路由及生成菜单的方法示例
2019/06/20 Javascript
java和js实现的洗牌小程序
2019/09/30 Javascript
uni-app实现点赞评论功能
2019/11/25 Javascript
webpack的 rquire.context用法实现工程自动化的方法
2020/02/07 Javascript
Vuex的各个模块封装的实现
2020/06/05 Javascript
[04:00]黄浦江畔,再会英雄——完美世界DOTA2 TI9应援视频
2019/07/31 DOTA
Python列表(list)常用操作方法小结
2015/02/02 Python
python代码 if not x: 和 if x is not None: 和 if not x is None:使用介绍
2016/09/21 Python
简单谈谈python中的lambda表达式
2018/01/19 Python
Python 实现使用dict 创建二维数据、DataFrame
2018/04/13 Python
python将txt文档每行内容循环插入数据库的方法
2018/12/28 Python
django创建简单的页面响应实例教程
2019/09/06 Python
基于python3 的百度图片下载器的实现代码
2019/11/05 Python
Html5新标签解释及用法
2012/02/17 HTML / CSS
娇韵诗Clarins意大利官方网站:法国天然护肤品牌
2020/03/11 全球购物
爱护公物标语
2014/06/24 职场文书
2016十一国庆节慰问信
2015/12/01 职场文书
2016廉洁从业学习心得体会
2016/01/19 职场文书
Oracle笔记
2021/04/05 Oracle
MySQL sql_mode的使用详解
2021/05/08 MySQL