Python实现 ---简易在线音乐播放器
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python实现 ---简易在线音乐播放器相关的知识,希望对你有一定的参考价值。
最近这几天,学习了一下python,对于爬虫比较感兴趣,就做了一个简单的爬虫项目,使用Python的库Tkinsert做了一个界面,感觉这个库使用起来还是挺方便的,音乐的数据来自网易云音乐的一个接口,通过requests模块,get请求将数据获得,使用Json模块进行数据的解析,最终使用python的mp3play库进行对音乐的在线播放,以下是该程序的源码。
1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 # @Date : 2016-12-28 21:03:21 4 # @Author : Donoy ([email protected]) 5 # @Link : http://www.cnblogs.com/Donoy/ 6 # @Version : $Id$ 7 8 from Tkinter import * 9 import tkMessageBox 10 import requests 11 import json 12 import urllib 13 import mp3play 14 import threading 15 import time 16 17 18 def createWnd(): 19 global root 20 global listBox 21 global text 22 23 root = Tk() 24 root.title(‘-- DMPlayer --默认搜索100条----来自网易云音乐---‘) 25 root.geometry(‘500x270+600+200‘) 26 27 text = Entry(font=‘宋体‘,width=36) 28 text.pack() 29 Button(root,text=‘搜索‘,width=18,command=searchM).pack() 30 31 listBox = Listbox(root, height=12,width=72) 32 listBox.bind(‘<Double-Button-1>‘,play) 33 listBox.pack() 34 35 root.mainloop() 36 37 def searchM(): 38 global m_List 39 itemCount = 100 40 41 if not text.get(): 42 tkMessageBox.showinfo(‘温馨提示‘,‘您可以输入以下内容进行搜索\\n1.歌曲名\\n2.歌手名\\n3.部分歌词‘) 43 44 #获得输入的歌名以及url 45 url = ‘http://s.music.163.com/search/get/?type=1&s=%s&limit=%s‘%(text.get(),itemCount) 46 47 #get请求 48 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‘} 49 html = requests.get(url,header) 50 data = json.loads(html.text) 51 m_List = [] 52 53 try: 54 listBox.delete(0,listBox.size()) 55 for MusicData in data[‘result‘][‘songs‘]: 56 listBox.insert(END,MusicData[‘name‘] +‘------‘+‘(‘ +MusicData[‘artists‘][0][‘name‘] + ‘)‘) 57 m_List.append(MusicData[‘audio‘]) 58 except Exception as e: 59 print ‘查询过程出现错误,请重试‘ 60 61 62 def play(args): 63 try: 64 global mp3 65 sy = listBox.curselection()[0] 66 mp3 = mp3play.load(m_List[int(sy)]) 67 mp3.play() 68 #time.sleep(1000) 69 except Exception as e: 70 pass 71 72 73 def main(): 74 createWnd() 75 76 77 if __name__ == ‘__main__‘: 78 main()
程序运行结果如下图:
以上是关于Python实现 ---简易在线音乐播放器的主要内容,如果未能解决你的问题,请参考以下文章