python实现音乐下载器

yipeiwu_com6年前Python基础

本文实例为大家分享了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设计】。

相关文章

Django admin实现图书管理系统菜鸟级教程完整实例

Django admin实现图书管理系统菜鸟级教程完整实例

Django 有着强大而又及其易用的admin后台,在这里,你可以轻松实现复杂代码实现的功能,如搜索,筛选,分页,题目可编辑,多选框. 简单到,一行代码就可以实现一个功能,而且模块之间耦...

在Python的web框架中中编写日志列表的教程

在Python的web框架中中编写日志列表的教程

MVVM模式不但可用于Form表单,在复杂的管理页面中也能大显身手。例如,分页显示Blog的功能,我们先把后端代码写出来: 在apis.py中定义一个Page类用于存储分页信息: c...

详解在Python程序中使用Cookie的教程

大家好哈,上一节我们研究了一下爬虫的异常处理问题,那么接下来我们一起来看一下Cookie的使用。 为什么要使用Cookie呢? Cookie,指某些网站为了辨别用户身份、进行sessio...

Python使用logging模块实现打印log到指定文件的方法

Python使用logging模块实现打印log到指定文件的方法

本文实例讲述了Python使用logging模块实现打印log到指定文件的方法。分享给大家供大家参考,具体如下: 可能我们经常会使用print来输出信息到窗口,但当我们有很多个py文件需...

Linux下python3.7.0安装教程

Linux下python3.7.0安装教程

记录了Linux 安装python3.7.0的详细过程,供大家参考,具体内容如下 我这里使用的时centos7-mini,centos系统本身默认安装有python2.x,版本x根据不同...