爬取网易云听歌排行榜歌单制做云词

最近又到了一年一度的年末总结了,网易云音乐如此退出了年度歌单,又一次被刷朋友圈了。做为程序员,就好奇的想验证下结论准不许,随便回顾下爬虫的操做。
首先,打开网页版网易云音乐,登陆成功后,进入本身或好友的听歌排行榜,如图:
爬取网易云听歌排行榜歌单制做云词
直接使用浏览器的开发工具,刷新页面查看接口及其返回结果,找到刷新该列表的接口,如图:
爬取网易云听歌排行榜歌单制做云词
爬取网易云听歌排行榜歌单制做云词
找到url后,再找到对应的cookie等值,复制保存。如图:
爬取网易云听歌排行榜歌单制做云词
爬取网易云听歌排行榜歌单制做云词
至此,咱们已经找到网页全部想要的信息了,下面咱们就能够直接用代码实现了。
思路:
```
a.先爬取歌曲列表,获取对应歌曲的信息,存放到数据库,以便后面使用
b.经过歌曲的id,获取对应的歌词;
c.读取歌词分析获取关键词
d.选择自定义的背景图生成本身的词图
程序员

1.须要用到的模块
import requests
import re
import pymssql
import matplotlib.pyplot as plt  # 数学绘图库
from PIL import Image
import numpy as np  # 科学数值计算包,可用来存储和处理大型矩阵
import jieba  # 分词库
from wordcloud import WordCloud, ImageColorGenerator  # 词云库
from selenium import webdriver
import time

2.自定义三个函数
a)get_info():获取历史列表中的全部歌曲并将其写入数据库中,同时返回全部歌曲的id,以便后面获取歌词
代码块以下:
爬取网易云听歌排行榜歌单制做云词web

b)get_lyric():获取全部歌曲的歌词
吐槽一句,以前直接用'http://music.163.com/api/song/media?id={id}'.format(id=id), 就能够经过这个api直接获取对应id歌曲的歌词,如今被封了,只能用UI来分别爬取了,效率极低(考虑用多线程处理)
c)get_wordcloud():生成对应的词云图
定义好歌词存放的位置、选择词图的背景图及最后生成词图的位置,依次调用上面三个函数便可。效果图以下:
爬取网易云听歌排行榜歌单制做云词
4.关注公众号,回复’网易云’三个字便可获取完整代码,还可获取专属我的最爱音乐词图定制全过程代码
爬取网易云听歌排行榜歌单制做云词sql

相关文章
相关标签/搜索