# -*- coding:utf-8-*-
from Tkinter import *
import tkMessageBox #提示
import urllib
import json #形成一个字典
import mp3play #mp3播放器
import time
musiclist =[]
def music():
name = entry.get()
name =urllib.quote(name.encode('utf-8'))
if not name:
tkMessageBox.showinfo('提示:','请先输入\n歌手名在搜索!')
return #如果输入错误将出现提示
html =urllib.urlopen("http://s.music.163.com/search/get/?type=1&s=%s&limit=9"%name).read() #获取网页源代码
text =json.loads(html) #形成字典
list_songs = text['result']['songs']   #获取源代码
for i in range(len(list_songs)):
listbox.insert(i,list_songs[i]['name']+'('+list_songs[i]['artists'][0]['name']+')')
musiclist.append(list_songs[i]['audio']) #注意书写格式
def play(event): #event书写格式不能少
sy = listbox.curselection()[0]  查找
music_url =musiclist[sy]
urllib.urlretrieve(music_url,'1.mp3')
mp3 = mp3play.load('1.mp3')下载
mp3.play()
time.sleep(mp3.seconds())
mp3.stop()
root = Tk()
root.title('音乐盒子')
root.geometry('500x400')
entry = Entry(root)
entry.pack()
button = Button(text = '搜索',fg = 'red',command=music).pack() #command连接前边的music函数即搜索的连接
var = StringVar()  #添加鼠标双击
listbox = Listbox(root,width ='700',listvariable=var) #鼠标双击
listbox.bind('<Double-Button-1>',play) #鼠标双击
listbox.pack()
Label(text= '欢迎使用',fg='red').pack()
root.mainloop()

for i in range(len(list_songs)):         
        listbox.insert(i,list_songs[i]['name']+'('+list_songs[i]['artists'][0]['name']+')')        #取字典的时候要打开所有的分组
        musiclist.append(list_songs[i]['audio'])            #与上图对比