最近这几天,学习了一下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('<Double-Button-1>',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在线音乐播放器
# python播放器
# python3音乐播放器简单实现代码
# python实现可下载音乐的音乐播放器
# 基于python实现音乐播放器代码实例
# 自己用python做的一款超炫酷音乐播放器
# python开发简易版在线音乐播放器
# python实现简易云音乐播放器
# 基于Python实现音乐播放器的实现示例代码
# python 制作简单的音乐播放器
# Python编程实现简易的音乐播放器基本操作
# Python制作简易音乐播放器的实现步骤记录
# 网易
# 温馨提示
# 出现错误
# 请重试
# 您可以
# 感兴趣
# 这几天
# 就做
# 大家多多
# 宋体
# winfo_screenwidth
# screenwidth
# width
# height
# size
# dx
# screenheight
# winfo_screenheight
# root
# json
相关文章:
如何有效防御Web建站篡改攻击?
建站之星伪静态规则如何正确配置?
文字头像制作网站推荐软件,醒图能自动配文字吗?
子杰智能建站系统|零代码开发与AI生成SEO优化指南
广州顶尖建站服务:企业官网建设与SEO优化一体化方案
家庭建站与云服务器建站,如何选择更优?
如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?
如何在自有机房高效搭建专业网站?
武汉网站如何制作,黄黄高铁武穴北站途经哪些村庄?
如何用花生壳三步快速搭建专属网站?
制作营销网站公司,淘特是干什么用的?
建站主机数据库如何配置才能提升网站性能?
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
定制建站是什么?如何实现个性化需求?
香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南
如何在Golang中使用encoding/gob序列化对象_存储和传输数据
如何通过可视化优化提升建站效果?
湖州网站制作公司有哪些,浙江中蓝新能源公司官网?
韩国服务器如何优化跨境访问实现高效连接?
制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?
c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】
网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?
如何通过商城免费建站系统源码自定义网站主题?
如何在Golang中指定模块版本_使用go.mod控制版本号
代购小票制作网站有哪些,购物小票的简要说明?
如何快速使用云服务器搭建个人网站?
北京企业网站设计制作公司,北京铁路集团官方网站?
如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法
淘宝制作网站有哪些,淘宝网官网主页?
非常酷的网站设计制作软件,酷培ai教育官方网站?
如何快速生成可下载的建站源码工具?
简单实现Android验证码
桂林网站制作公司有哪些,桂林马拉松怎么报名?
香港服务器WordPress建站指南:SEO优化与高效部署策略
如何通过宝塔面板实现本地网站访问?
个人摄影网站制作流程,摄影爱好者都去什么网站?
建站之星后台密码遗忘?如何快速找回?
网站app免费制作软件,能免费看各大网站视频的手机app?
东莞专业网站制作公司有哪些,东莞招聘网站哪个好?
网站制作价目表怎么做,珍爱网婚介费用多少?
香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧
沈阳制作网站公司排名,沈阳装饰协会官方网站?
建站之星体验版:智能建站系统+响应式设计,多端适配快速建站
潮流网站制作头像软件下载,适合母子的网名有哪些?
如何用IIS7快速搭建并优化网站站点?
网站制作知乎推荐,想做自己的网站用什么工具比较好?
专业公司网站制作公司,用什么语言做企业网站比较好?
如何快速搭建高效服务器建站系统?
无锡营销型网站制作公司,无锡网选车牌流程?
高端建站三要素:定制模板、企业官网与响应式设计优化
*请认真填写需求信息,我们会在24小时内与您取得联系。