python数据可视化qq音乐实例
时间: 2023-10-15 07:05:18 浏览: 182
以下是一个Python数据可视化的QQ音乐实例,使用了Matplotlib和Seaborn库来绘制图表和图形。
首先,我们需要安装这两个库:
```python
!pip install matplotlib seaborn
```
然后,我们需要获取QQ音乐的数据。我们可以使用爬虫来获取网站的数据,或者使用QQ音乐提供的API。
以下是一个使用QQ音乐API来获取某个歌手的热门歌曲的例子:
```python
import requests
# 使用QQ音乐API获取某个歌手的热门歌曲
url = 'https://c.y.qq.com/soso/fcgi-bin/client_search_cp'
params = {
'ct': '24',
'qqmusic_ver': '1298',
'new_json': '1',
'remoteplace': 'sizer.yqq.song_next',
'searchid': '64405487069162918',
't': '0',
'aggr': '1',
'cr': '1',
'catZhida': '1',
'lossless': '0',
'flag_qc': '0',
'p': '1',
'n': '20',
'w': '周杰伦',
'g_tk': '5381',
'jsonpCallback': 'MusicJsonCallback',
'loginUin': '0',
'hostUin': '0',
'format': 'jsonp',
'inCharset': 'utf8',
'outCharset': 'utf-8',
'notice': '0',
'platform': 'yqq.json',
'needNewCode': '0'
}
headers = {
'referer': 'https://y.qq.com/n/yqq/singer/0025NhlN2yWrP4.html',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'
}
res = requests.get(url, params=params, headers=headers)
json_data = res.json()
song_list = json_data['data']['song']['list']
```
接下来,我们可以使用Matplotlib和Seaborn来绘制图表和图形。以下是一个绘制该歌手的热门歌曲排行榜的例子:
```python
import matplotlib.pyplot as plt
import seaborn as sns
# 绘制该歌手的热门歌曲排行榜
song_names = [song['name'] for song in song_list]
song_scores = [song['score'] for song in song_list]
sns.set(style='whitegrid')
plt.figure(figsize=(12,6))
sns.barplot(x=song_scores, y=song_names, palette='Blues_d')
plt.title('周杰伦的热门歌曲排行榜')
plt.xlabel('播放量')
plt.ylabel('歌曲名称')
plt.show()
```
该代码会生成一个水平条形图,显示该歌手的热门歌曲排行榜,按播放量从高到低排序。我们可以使用其他的Matplotlib和Seaborn功能来自定义这个图表,比如添加标签、调整颜色和字体等。
阅读全文