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实现文件路径和url相互转换的方法
Jul 06 Python
开始着手第一个Django项目
Jul 15 Python
Python模拟随机游走图形效果示例
Feb 06 Python
python中datetime模块中strftime/strptime函数的使用
Jul 03 Python
python异步实现定时任务和周期任务的方法
Jun 29 Python
使用virtualenv创建Python环境及PyQT5环境配置的方法
Sep 10 Python
python自动结束mysql慢查询会话的实例代码
Oct 27 Python
解决tensorflow由于未初始化变量而导致的错误问题
Jan 06 Python
为什么说python更适合树莓派编程
Jul 20 Python
Python实现一个简单的递归下降分析器
Aug 01 Python
Python 实现绘制子图及子图刻度的变换等问题
May 31 Python
python爬取网页版QQ空间,生成各类图表
Jun 02 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
redis 队列操作的例子(php)
2012/04/12 PHP
PHP中strpos、strstr和stripos、stristr函数分析
2016/06/11 PHP
yii2使用gridView实现下拉列表筛选数据
2017/04/10 PHP
PHP代码重构方法漫谈
2018/04/17 PHP
PHP等比例压缩图片的实例代码
2018/07/26 PHP
php 利用socket发送GET,POST请求的实例代码
2020/07/04 PHP
区分JS中的undefined,null,"",0和false
2007/03/08 Javascript
IE8 原生JSON支持
2009/04/13 Javascript
javascript 面向对象继承
2009/11/26 Javascript
关于IE BUG与字符串截取substr的解决办法
2013/04/10 Javascript
css样式标签和js语法属性区别
2013/11/06 Javascript
JavaScript的strict模式与with关键字介绍
2014/02/08 Javascript
浅谈jQuery事件绑定原理
2015/01/02 Javascript
JavaScript定时器和优化的取消定时器方法
2015/07/03 Javascript
jquery+css实现的红色线条横向二级菜单效果
2015/08/22 Javascript
JS+CSS相对定位实现的下拉菜单
2015/10/06 Javascript
js实现密码强度检测【附示例】
2016/03/30 Javascript
JS使用面向对象技术实现的tab选项卡效果示例
2017/02/28 Javascript
基于 Bootstrap Datetimepicker 联动
2017/08/03 Javascript
js求数组中全部数字可拼接出的最大整数示例代码
2017/08/25 Javascript
Node.js 使用流实现读写同步边读边写功能
2017/09/11 Javascript
JS实现计算小于非负数n的素数的数量算法示例
2019/02/26 Javascript
基于iview-admin实现动态路由的示例代码
2019/10/02 Javascript
JavaScript实现英语单词题库
2019/12/24 Javascript
vue实现的封装全局filter并统一管理操作示例
2020/02/02 Javascript
React实现全选功能
2020/08/25 Javascript
antd中table展开行默认展示,且不需要前边的加号操作
2020/11/02 Javascript
为Python的Tornado框架配置使用Jinja2模板引擎的方法
2016/06/30 Python
Python操作使用MySQL数据库的实例代码
2017/05/25 Python
Django配置MySQL数据库的完整步骤
2019/09/07 Python
Python中pyecharts安装及安装失败的解决方法
2020/02/18 Python
matplotlib源码解析标题实现(窗口标题,标题,子图标题不同之间的差异)
2021/02/22 Python
施华洛世奇美国官网:SWAROVSKI美国
2018/02/08 全球购物
中专毕业生个人职业生涯规划
2014/02/19 职场文书
学生保证书范文
2014/04/28 职场文书
2015-2016年小学教导工作总结
2015/07/21 职场文书