亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python實現(xiàn)在線音樂播放器

 更新時間:2017年03月03日 13:58:54   作者:Donoy  
這篇文章主要為大家詳細介紹了Python實現(xiàn)在線音樂播放器的相關資料,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

最近這幾天,學習了一下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('溫馨提示','查詢過程出現(xiàn)錯誤,請重試')
 #print '查詢過程出現(xiàn)錯誤,請重試'
 
 
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庫中可以操作JavaScript盤點解析

    Python庫中可以操作JavaScript盤點解析

    這篇文章主要為大家介紹了Python庫之可以操作JavaScript盤點解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-06-06
  • python中文分詞教程之前向最大正向匹配算法詳解

    python中文分詞教程之前向最大正向匹配算法詳解

    中文分詞是中文文本處理的一個基礎性工作,然而長久以來,在Python編程領域,一直缺少高準確率、高效率的分詞組件。下面這篇文章主要給大家介紹了關于python中文分詞教程之前向最大正向匹配算法的相關資料,需要的朋友可以參考下。
    2017-11-11
  • 一個基于flask的web應用誕生 組織結構調整(7)

    一個基于flask的web應用誕生 組織結構調整(7)

    一個基于flask的web應用誕生第七篇,這篇文章主要介紹了組織結構的調整,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • pytest內置fixture使用臨時目錄流程詳解

    pytest內置fixture使用臨時目錄流程詳解

    fixture是在測試函數運行前后,由pytest執(zhí)行的外殼函數。fixture中的代碼可以定制,滿足多變的測試需求,包括定義傳入測試中的數據集、配置測試前系統(tǒng)的初始狀態(tài)、為批量測試提供數據源等等。fixture是pytest的精髓所在
    2022-12-12
  • Pytorch Tensor的索引與切片例子

    Pytorch Tensor的索引與切片例子

    今天小編就為大家分享一篇Pytorch Tensor的索引與切片例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • 漂亮的Django Markdown富文本app插件的實現(xiàn)

    漂亮的Django Markdown富文本app插件的實現(xiàn)

    這篇文章主要介紹了漂亮的Django Markdown富文本app插件的實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • django中上傳圖片分頁三級聯(lián)動效果的實現(xiàn)代碼

    django中上傳圖片分頁三級聯(lián)動效果的實現(xiàn)代碼

    這篇文章主要介紹了django中上傳圖片分頁三級聯(lián)動效果的實現(xiàn)代碼,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧
    2019-08-08
  • python基于Selenium的web自動化框架

    python基于Selenium的web自動化框架

    這篇文章主要介紹了python基于Selenium的web自動化框架,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • python中的set實現(xiàn)不重復的排序原理

    python中的set實現(xiàn)不重復的排序原理

    這篇文章主要介紹了python中的set實現(xiàn)不重復的排序原理,需要的朋友可以參考下
    2018-01-01
  • Python?字符替換的四方法

    Python?字符替換的四方法

    本文主要介紹了Python?字符替換的四方法,主要包括replace、translate、maketrans?和正則這是四種方法,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01

最新評論