最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Python实现在线音乐播放器
时间:2017-05-18 编辑:简简单单 来源:一聚教程网
最近这几天,学习了一下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$
fromTkinterimport* importtkMessageBox importrequests importjson importurllib importmp3play importthreading importtime
defcenter_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)
defcreateWnd(): globalroot globallistBox globaltext
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(' listBox.pack()
root.mainloop()
defsearchM(): globalm_List itemCount=50
ifnottext.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()) forMusicDataindata['result']['songs']: listBox.insert(END,MusicData['name']+'------'+'('+MusicData['artists'][0]['name']+')') m_List.append(MusicData['audio']) exceptException as e: tkMessageBox.showinfo('温馨提示','查询过程出现错误,请重试') #print '查询过程出现错误,请重试'
defplay(args): try: globalmp3 sy=listBox.curselection()[0] mp3=mp3play.load(m_List[int(sy)]) mp3.play() #time.sleep(1000) exceptException as e: pass
defmain(): createWnd()
if__name__=='__main__': main() |
程序运行结果:
-
上一个: python开发简易版在线音乐播放器
相关文章
- PHP导出数据超时的优化建议解读 10-31
- PHP之mysql位运算解析 10-31
- Laravel实现登录跳转功能解析 10-31
- php双向队列解读 10-31
- Laravel异常上下文解决教程 10-24
- php数组查询元素位置方法介绍 10-24