加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

Python数据可视化:网易云音乐歌单

发布时间:2019-01-19 05:13:43 所属栏目:教程 来源:小F
导读:网易云音乐2018年度听歌报告遇见你,真好。 相信有不少人在上周,应该已经看过自己网易云音乐的年度报告了。 小F也是去凑凑热闹,瞅了一波自己的年度听歌报告。 那么你在云村又听了多少首歌,听到最多的歌词又是什么呢? 2018年你的年度歌手又是谁,哪些又
副标题[/!--empirenews.page--]

网易云音乐2018年度听歌报告—遇见你,真好。

相信有不少人在上周,应该已经看过自己网易云音乐的年度报告了。

小F也是去凑凑热闹,瞅了一波自己的年度听歌报告。

那么你在云村又听了多少首歌,听到最多的歌词又是什么呢?

2018年你的年度歌手又是谁,哪些又是你最爱的歌呢?

不过相比去年,我的票圈并没有很多发自己年度报告的朋友。

不得不说,版权之争开始,网易云音乐似乎就在走下坡路。

很多喜欢的歌听不了,这应该是大家共同的痛点。

最大的印象就是周董的歌,在愚人节时下架了,原以为只是个玩笑,不想却是真的。

本次通过对网易云音乐华语歌单数据的获取,对华语歌单数据进行可视化分析。

可视化库不采用pyecharts,来点新东西。

使用matplotlib可视化库,利用这个底层库来进行可视化展示。

一、网页分析

01 歌单索引页

Python数据可视化:网易云音乐歌单

选取华语热门歌单页面。

获取歌单播放量,名称,及作者,还有歌单详情页链接。

本次一共获取了1302张华语歌单。

02 歌单详情页

Python数据可视化:网易云音乐歌单

获取歌单详情页信息,信息比较多。

有歌单名,收藏量,评论数,标签,介绍,歌曲总数,播放量,收录的歌名。

这里歌曲的时长、歌手、专辑信息在网页的iframe中。

需要用selenium去获取信息,鉴于耗时过长,小F选择放弃...

有兴趣的小伙伴,可以试一下哈...

二、数据获取

01 歌单索引页

  1. from bs4 import BeautifulSoup 
  2. import requests 
  3. import time 
  4.  
  5. headers = { 
  6.     'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36' 
  7.  
  8. for i in range(0, 1330, 35): 
  9.     print(i) 
  10.     time.sleep(2) 
  11.     url = 'https://music.163.com/discover/playlist/?cat=欧美&order=hot&limit=35&offset=' + str(i) 
  12.     response = requests.get(url=url, headers=headers) 
  13.     html = response.text 
  14.     soup = BeautifulSoup(html, 'html.parser') 
  15.     # 获取包含歌单详情页网址的标签 
  16.     ids = soup.select('.dec a') 
  17.     # 获取包含歌单索引页信息的标签 
  18.     lis = soup.select('#m-pl-container li') 
  19.     print(len(lis)) 
  20.     for j in range(len(lis)): 
  21.         # 获取歌单详情页地址 
  22.         url = ids[j]['href'] 
  23.         # 获取歌单标题 
  24.         title = ids[j]['title'] 
  25.         # 获取歌单播放量 
  26.         play = lis[j].select('.nb')[0].get_text() 
  27.         # 获取歌单贡献者名字 
  28.         user = lis[j].select('p')[1].select('a')[0].get_text() 
  29.         # 输出歌单索引页信息 
  30.         print(url, title, play, user) 
  31.         # 将信息写入CSV文件中 
  32.         with open('playlist.csv', 'a+', encoding='utf-8-sig') as f: 
  33.             f.write(url + ',' + title + ',' + play + ',' + user + 'n')

获取歌单索引页信息如下,共1302张华语歌单。

Python数据可视化:网易云音乐歌单

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读