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

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

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

(0)

相关推荐

  • Python3使用TCP编写一个简易的文件下载器功能

    利用Python3来实现TCP协议,和UDP类似.UDP应用于及时通信,而TCP协议用来传送文件.命令等操作,因为这些数据不允许丢失,否则会造成文件错误或命令混乱.下面代码就是模拟客户端通过命令行操作服务器.客户端输入命令,服务器执行并且返回结果. TCP(Transmission Control Protocol 传输控制协议):是一种面向连接的.可靠的.基于字节流的传输层通信协议,由IETF的RFC 793定义. 使用TCP编写一个简易的文件下载器要求:需编写文件下载器服务端和文件下载器客户

  • Python制作CSDN免积分下载器

    CSDN免积分下载 你懂的. 1.输入资源地址如:http://download.csdn.net/download/gengqkun/4127808 2.输入验证码 3.点击下载,会弹出浏览器下载. 注:成功率在70-80% ,界面很丑,请将就着用. 复制代码 代码如下: #-*-coding:utf-8-*- #python3.3.5 import urllib.parse,urllib.request,http.cookiejar,io,webbrowser import tkinter

  • Python实现多线程HTTP下载器示例

    本文将介绍使用Python编写多线程HTTP下载器,并生成.exe可执行文件. 环境:windows/Linux + Python2.7.x 单线程 在介绍多线程之前首先介绍单线程.编写单线程的思路为: 1.解析url: 2.连接web服务器: 3.构造http请求包: 4.下载文件. 接下来通过代码进行说明. 解析url 通过用户输入url进行解析.如果解析的路径为空,则赋值为'/':如果端口号为空,则赋值为"80":下载文件的文件名可根据用户的意愿进行更改(输入'y'表示更改,输入

  • 基于python实现的百度新歌榜、热歌榜下载器(附代码)

    前言 首先声明,本工具仅仅为学习之用,不涉及版权问题,因为百度音乐里面的歌曲本身是可以下载的,而且现在百度也提供了"百度音乐播放器",可以通过这个工具进行批量下载. 我当时做这个工具的时候,百度还没有提供"百度音乐播放器",而我又想批量下载,所以做了这样的一个下载工具.当然,主要还是为了学习. 工具采用Python2.7.3+PyQt开发. 功能: 1.集中展示百度新歌榜或热歌榜可下载的歌单. 2.支持单个.多个歌曲的下载. 3.可复制歌单中所有的链接内容,方便在迅

  • Python编写一个优美的下载器

    本文实例为大家分享了Python编写下载器的具体代码,供大家参考,具体内容如下 #!/bin/python3 # author: lidawei # create: 2016-07-11 # version: 1.0 # 功能说明: # 从指定的URL将文件取回本地 ##################################################### import http.client import os import threading import time impo

  • python实现多线程网页下载器

    本文为大家分享了python实现的一个多线程网页下载器,供大家参考,具体内容如下 这是一个有着真实需求的实现,我的用途是拿它来通过 HTTP 方式向服务器提交游戏数据.把它放上来也是想大家帮忙挑刺,找找 bug,让它工作得更好. keywords:python,http,multi-threads,thread,threading,httplib,urllib,urllib2,Queue,http pool,httppool 废话少说,上源码: # -*- coding:utf-8 -*- im

  • 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.ti

  • 用python制作个音乐下载器

    前言 某个夜深人静的夜晚,我打开了自己的文件夹,发现了自己写了许多似乎很无聊的代码.于是乎,一个想法油然而生:"生活已经很无聊了,不如再无聊一点叭". 说干就干,那就开一个专题,我们称之为kimol君的无聊小发明. 妙-啊~~~ 直奔主题!本文主题是用python做一个音乐下载器(MusicLover),直接上图: 想必看到这里,各位看官的脑海中已经脑补出各种JS解密,参数分析等等让初学者很头疼的东东了. 然而,我并不打算这么干~(小声嘀咕:"没想到吧") 本文很友

  • Python实现免费音乐下载器

    目录 前言 ​正文 1)思路 2)环境 3)代码演示 4)效果展示 前言 嘿!一直在学习从没停下,最近的话一直没咋更新,因为小编也在忙着学编程~ 哈哈哈,今天刚好有时间嘛 那就给学习爬虫的小伙伴儿更新一期简单的爬虫案例实战给大家啦! ​ 于是最后我还是选择了一种最简单,最方便的一种方法: python爬虫. ​正文 1)思路 进入某音乐主页输入任意歌手,比如李XX为列. 音乐从哪里来?---网站的服务器里 怎么从网址里得到音乐?---向网站发起网络请求 最后用tkinter做成一个界面下载框即可

  • python实现音乐播放器 python实现花框音乐盒子

    本文实例为大家分享了python实现音乐播放器的具体代码,供大家参考,具体内容如下 """这是一个用海龟画图模块和pygame的混音模块制作的简易播放器. 作者:李兴球,日期:2018/8/26""" from turtle import * def init_screen(): """初始化屏幕""" screen = Screen() screen.setup(width,heigh

  • Python编程实现下载器自动爬取采集B站弹幕示例

    目录 实现效果 UI界面 数据采集 小结 大家好,我是小张! 在<Python编程实现小姐姐跳舞并生成词云视频示例>文章中简单介绍了B站弹幕的爬取方法,只需找到视频中的参数 cid,就能采集到该视频下的所有弹幕:思路虽然很简单,但个人感觉还是比较麻烦,例如之后的某一天,我想采集B站上的某个视频弹幕,还需要从头开始:找cid参数.写代码,重复单调: 因此我在想有没有可能一步到位,以后采集某个视频弹幕时只需一步操作,比如输入想爬取的视频链接,程序能自动识别下载 实现效果 基于此,借助 PyQt5

  • 使用Python的音乐播放器GUI的实现

    音乐播放器可让您快速轻松地管理和收听所有音乐文件.在本文中,我将带您了解如何使用 Python 创建音乐播放器 GUI. 如何使用 Python 创建音乐播放器 GUI? 第一步是选择一个 Python GUI 框架,这里我将使用两个主要的 GUI 库来使用 Python 创建音乐播放器: Pygame Tkinter Pygame 是一个用于创建视频游戏的 Python 库.要使用 Python 创建音乐播放器,我们将使用 Pygame 声音组件. Tkinter 是一个用于创建 GUI 应用

  • 基于Python实现音乐播放器的实现示例代码

    目录 一.环境设置 二.播放功能 三.停止功能 四.暂停与恢复 五.关闭 六.完整代码 七.改进 一.环境设置 第一步引入必须的各类包 import os import tkinter import tkinter.filedialog import random import time import threading import pygame 特别是pygame需要手动安装 pip install pygame 二.播放功能 首先选择音乐目录,然后创建播放现成,播放音乐. # 播放按钮 d

  • 基于python实现的百度音乐下载器python pyqt改进版(附代码)

    前言 之前写过一个用python实现的百度新歌榜.热歌榜下载器的文章,实现了百度新歌.热门歌曲的爬取与下载.但那个采用的是单线程,网络状况一般的情况下,扫描前100首歌的时间大概得到40来秒.而且用Pyqt做的界面,在下载的过程中进行窗口操作,会出现UI阻塞的现象. 前两天有时间调整了一下,做了几方面的改进: 1.修改了UI界面阻塞的问题,下载的过程中可以进行其它的UI操作; 2.爬虫程序采用一个主线程,8个子线程的方式快速爬取,网络状况一致的情况下,将扫描100首歌曲的时间提高到了8.9秒左右

  • python实现音乐下载的统计

    本文为大家分享了Python实现自己下载音乐统计的具体代码,供大家参考,具体内容如下 今天看Python实例,学习了如何对文件进行操作,突然想把自己网易云音乐下载到本地的歌曲名单写到一个txt中,看看具体情况.当然,我现在肯定无法做到直接去网易云音乐上爬取,就做个最简单的吧. 代码实现 import os def split_songs_name(s) : ''' 拆分歌曲名,去掉歌手和一些其他信息,只保留歌曲名 :param s: 歌曲文件名 :return: 歌曲名 ''' if isins

  • 基于python实现音乐播放器代码实例

    核心播放模块(pygame内核) import time import pygame import easygui as gui file = r'D:\CloudMusic\G.E.M.邓紫棋,艾热 - 光年之外 (热爱版).mp3' #这里为音乐文件路径 pygame.mixer.init() gui.msgbox("正在播放"+file) track = pygame.mixer.music.load(file) pygame.mixer.music.play() time.sl

随机推荐