这是一个用 Python 的 tkinter 库做的一个网络音乐播放器。我不说它的 UI 设计的有多好看,但是它的功能绝对是全站首个!坚持看到底,你不点赞算我输!
成果展示
程序截图
前期准备
程序结构:
所需第三方库(requirement.txt):
mutagen==1.45.1 pygame==2.0.1 requests==2.26.0 Pillow==8.3.1
安装:
pip install mutagen # 查看歌曲长度 pip install pygame # 播放音乐 pip install requests # 爬取音乐 pip install pillow # 显示图片
或者:
pip install -r requirements.txt
一、爬取音乐
下面的代码为 get.py 里的内容。
import requests search_url = 'http://www.kuwo.cn/api/www/search/searchMusicBykeyWord' search_headers = { 'Referer': 'http://www.kuwo.cn/search/list?key=', 'Cookie': '_ga=GA1.2.12......', 'csrf': 'YO4OH2VYH1A'} search_params = { 'key': 'str', # 查找关键字 'pn': '1', # 页数 'rn': '20', # 项数 'httpsStatus': '1', 'reqId': '6e028fc0-db8f-11eb-b6f5-ff7d54a57f2b' } from_url = 'http://www.kuwo.cn/url' from_params = { 'rid': '148526468', # 歌曲 rid 'type': 'convert_url3', 'br': '128kmp3', } lrc_url = 'http://m.kuwo.cn/newh5/singles/songinfoandlrc?musicId={rid}' headers = {'user-agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36 Edg/91.0.864.59'} class Kuwo: def search_kuwo(self, kw):# search_params.update({'key': kw}) response = requests.get(search_url, params=search_params, headers={**headers, **search_headers}, timeout=2, ).json() datas = response.get('data', {}).get('list', {}) result = [[r.get('name', ''), r.get('artist', ''), r.get('album', ''), r.get('songTimeMinutes', ''), r.get('pic', ''), r.get('pic120', ''), r.get('rid', '')] for r in datas] return result def get_music_url(self, rid):# from_params['rid'] = rid url = requests.get(from_url, params=from_params, headers=headers, timeout=2).json()['url'] return url def get_music_content(self, rid): url