最近这几天,学习了一下python,对于爬虫比较感兴趣,就做了一个简单的爬虫项目,使用Python的库Tkinsert做了一个界面,感觉这个库使用起来还是挺方便的,音乐的数据来自网易云音乐的一个接口,通过requests模块,get请求将数据获得,使用Json模块进行数据的解析,最终使用python的mp3play库进行对音乐的在线播放,以下是该程序的源码。

#!/usr/bin/env python

# -*- coding: utf-8 -*-

# @Date : 2016-12-28 21:03:21

# @Author : Donoy (172829352@qq.com)

# @Link : http://www.cnblogs.com/Donoy/

# @Version : $Id$

from Tkinter import *

import tkMessageBox

import requests

import json

import urllib

import mp3play

import threading

import time

def center_window(root, width, height):

screenwidth = root.winfo_screenwidth()

screenheight = root.winfo_screenheight()

size = '%dx%d+%d+%d' % (width, height, (screenwidth - width)/2, (screenheight - height)/2)

root.geometry(size)

def createWnd():

global root

global listBox

global text

root = Tk()

root.title('-----DMPlayer------来自网易云音乐-----')

center_window(root, 440, 250)

root['background'] = '#C7EDCC'

text = Entry(font='宋体',width=36)

text.pack()

button = Button(root,text='搜索',width=18,fg='red',background='#CDCDC1',command=searchM).pack()

listBox = Listbox(root, height=12,width=72,background='#C7EDCC')

listBox.bind('',play)

listBox.pack()

root.mainloop()

def searchM():

global m_List

itemCount = 50

if not text.get():

tkMessageBox.showinfo('温馨提示','您可以输入以下内容进行搜索\n1.歌曲名\n2.歌手名\n3.部分歌词')

return

#获得输入的歌名

url = 'http://s.music.163.com/search/get/?type=1&s=%s&limit=%s'%(text.get(),itemCount)

#get请求

header = {'User-Agent':'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36'}

html = requests.get(url,header)

data = json.loads(html.text)

m_List = []

try:

listBox.delete(0,listBox.size())

for MusicData in data['result']['songs']:

listBox.insert(END,MusicData['name'] +'------'+'(' +MusicData['artists'][0]['name'] + ')')

m_List.append(MusicData['audio'])

except Exception as e:

tkMessageBox.showinfo('温馨提示','查询过程出现错误,请重试')

#print '查询过程出现错误,请重试'

def play(args):

try:

global mp3

sy = listBox.curselection()[0]

mp3 = mp3play.load(m_List[int(sy)])

mp3.play()

#time.sleep(1000)

except Exception as e:

pass

def main():

createWnd()

if __name__ == '__main__':

main()

程序运行结果:

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

python怎么播放音乐_Python实现在线音乐播放器相关推荐

  1. python播放在线音乐_Python实现在线音乐播放器

    最近这几天,学习了一下python,对于爬虫比较感兴趣,就做了一个简单的爬虫项目,使用Python的库Tkinsert做了一个界面,感觉这个库使用起来还是挺方便的,音乐的数据来自网易云音乐的一个接口, ...

  2. python播放网络音乐_Python实现在线音乐播放器示例

    这篇文章主要为大家详细介绍了Python实现在线音乐播放器的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 最近这几天,学习了一下python,对于爬虫比较感兴趣,就做了一个简单的爬虫项目 ...

  3. python播放网络音乐_Python实现在线音乐播放器

    最近这几天,学习了一下python,对于爬虫比较感兴趣,就做了一个简单的爬虫项目,使用Python的库Tkinsert做了一个界面,感觉这个库使用起来还是挺方便的,音乐的数据来自网易云音乐的一个接口, ...

  4. 音乐app、音乐原型、在线音乐、云音乐、听歌、电台、本地音乐、点赞、收藏、歌单广场、动态、社区、评论、歌词、歌手、主播、视频、云村、下载、翻唱、歌曲播放、订阅、频道、引导页、登录注册、axure原型

    音乐app.音乐原型.在线音乐.云音乐.听歌.电台.本地音乐.点赞.收藏.歌单广场.动态.社区.评论.歌词.歌手.主播.视频.云村.下载.翻唱.歌曲播放.订阅.频道.引导页.登录注册.axure原型. ...

  5. 在线音乐哪个支持linux,网易云音乐上线国内在线音乐应用中首个Linux版

    原标题:网易云音乐上线国内在线音乐应用中首个Linux版 最近,国内Linux用户乐开了花,因为他们终于可以在Linux系统内听在线音乐了. 5月25日,网易云音乐Linux版正式上线,这也是国内在线 ...

  6. Python+PyQt5+Requests+Selenium写一个在线音乐播放器

    文章目录 写在前面的话 一.明确功能目标 二.UI设计 1.选择主界面 三.功能的实现 1.获取热榜. 2.随机获取四首热榜歌曲并获得封面. 3.初始化界面. 4.解析歌单. 5.播放/下载. 6.进 ...

  7. python 定时播放音乐_python写的定时播放音乐

    import datetime import os import time import pygame from pygame import mixer from pygame.locals impo ...

  8. 【毕业设计之python系列】基于Flask的在线音乐网设计与实现

    基于Flask的在线音乐网设计与实现 摘 要 本论文旨在通过使用Python的Web框架Flask,设计和实现一个具有完整功能的在线音乐网站.该网站包括用户注册.登录.注销.歌曲上传.编辑.删除.歌单 ...

  9. python爬去音乐_python爬去音乐

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 本文为大家分享了python爬取酷狗音乐排行榜的具体代码,供大家参考,具体内容如 ...

  10. 太合音乐领千千音乐突围:在线音乐铜墙铁壁难闯

    6月下旬,百度音乐宣布更名为千千音乐,并将LOGO和版面全换成了红色,此番调整引发了用户的热烈讨论,以及对"千千静听"的缅怀.如今事件已经过去一段时间,当事件和大众情绪都冷却之后, ...

最新文章

  1. iOS从通讯录中选择联系人
  2. jQuery图片轮播的具体实现
  3. python open
  4. 电脑桌面归纳小窗口_电脑一分钟小技巧:如何将电脑设置为定时关机?
  5. 51Nod——1004 n^n的末位数字
  6. linux下C的一些开发技巧总结
  7. Go VSCode配置编译task
  8. java arraystoreexception_java基础面试
  9. 赋值语句、变量、数学表达式、位运算详解(C++)
  10. 工作上不要遮掩,如实回答,什么样的借口可以接受
  11. python3 多线程爬去mzitu图片
  12. 原型工具 axure 使用
  13. php传值和引用哪个效率高,php方法传值和传引用性能比较
  14. R语言笔记--par()函数详解
  15. Vue history模式添加前缀 Nginx配置
  16. 声学感知刻度(mel scale、Bark scale、ERB)与声学特征提取(MFCC、BFCC、GFCC)
  17. 帝国cms站群全自动采集入库程序源码分享
  18. 60mph和kmh换算_mph换算器(速度计算器在线)
  19. 身份证合法性校验规则
  20. Week-4-作业1

热门文章

  1. nodejs,webpack安装以及初步运用
  2. java封装的概念学习笔记
  3. 讨论一下hibernate如何动态注册一个动态生成的实体类
  4. 单例初始化(MRC模式之autorelease)
  5. Node.js笔记(0003)---Express框架Router模块学习笔记
  6. 《Android开发卷——HTTP网络通信,HTTP网络连接》
  7. [转]如何用SQL命令修改字段名称
  8. 分页加载总页数计算公式
  9. Mybatis原理解析(一)解析全局xml配置文件生成SqlSessionFactory过程
  10. 结对-结对编项目作业名称-测试过程