近来瞧了一篇文章,我做了六百万字得歌词剖析,通知你中国rapper都在唱甚么.立马想到也来剖析剖析我姿看看。最初的4万字歌词的词云让我看到一条规语是:
我们不要恋爱
幸运是置信本人
哈哈哈,看来独身狗是要注孤生了
言归正转,Let‘s go!
1.义务目的
2.爬取歌词
2.2.1 爬取歌词链接
2.2.2 爬取歌词
-2.2.3 刷洗歌词
-2.2.4 歌词文本分词
2.1察看
2.2 代码
3.歌词词云剖析
1.义务目的
爬取孙燕姿的一切中文歌词
对孙燕姿的中文歌词实行剖析制作词云
2. 爬取歌词
由于没找到现成的歌词包,因而我挑选的是本人在歌词千寻网上爬,歌词千寻关于爬虫来讲仍是十分敌对复杂的,根本和soda学python---复杂爬糗百进程分歧。
2.1 察看
开始,让进入孙燕姿的主页歌词千寻-孙燕姿
接着,检查条目。我们发明页面表格中的次要内容都在tr标签的td标签下,前两个td标签中辨别包括了歌曲名,专辑名。
此中第一个标签中另有链接信息,经测试“http://www.lrcgc.com/” 链接局部便可跳转到歌词界面
察看歌词界面元素,发明歌词元素在p 标签下
因而我们爬取思绪以下:
1.经过歌手主页,爬取到一切歌词链接
2.经过歌词链接,爬取歌词
3.为了便于干净数据,我们将歌曲名与专辑名一同爬取
2.2 代码
2.2.1 爬取歌词链接
这局部的目的是爬取一切歌曲的链接并存储。该局部根本和soda学python---复杂爬糗百进程分歧。如有疑问看拜见糗百篇。次要代码块注释以下
导入相干库
import requests
主代码
def main():
由于涉及到翻页麻烦,我们需求晓得下一页的链接。察看
第一页:http://www.lrcgc.com/songlist-210-1.html
第二页:http://www.lrcgc.com/songlist-210-2.html
我们发明歌手主页各页的链接只需变动http://www.lrcgc.com/songlist-210-1.html中的黑体局部位对应页码便可。因而我们先经过一个旋转失掉url_list,共12个链接。
第二局部挪用预先写好的源代码下载函数dowload_page()及剖析函数parsel_lyrics()爬取一切歌曲的歌名,专辑名及歌词链接并存储。
网页源代码下载
def download_page(url):
网页源代码剖析
找到tr,td标签找到歌名,专辑名及歌词链接
def parsel_lyrics(html,sun,num):
完好代码
import requests
后果
失掉一个sunyanzi.csv的文件及DataFrame格局的变量sun
2.2.2 爬取歌词
2.2.2.1 刷洗链接
我们如今已有了一个合计包括224首歌曲相干信息的表格,在间接依据表格中的链接爬取歌词前,我们先对这个表格实行复杂的刷洗。由于条目较少,该局部我间接运用excel来处置
查重:
前后Excel中"数据选项卡"中的"删除反复项"前后依据链接 歌名查重
采用歌名栏,查重后果以下
查错
对专辑栏实行排序,发明了一些历来没听过的专辑比方乘着风,作为铁粉万分震动,百度后得知此乃盗版专辑趁火打劫,武断删除
手工
固然这么的分明仍是远远不敷的,由于条目未几我仍是老老实实依据歌名手工来找,再老老实实取出网易云的专辑列表,挨着挨着一张一张专辑的查对。。这都是膂力活,不再赘述(这活干完,觉得能够参与姿吧的常识)最初合计失掉146条曲目,存为sun_2.xlsx
2.2.2.2 下载歌词
依据之前失掉的歌曲链接,来下载歌词,并存储到sun_2.xlsx中的歌词列。这个爬虫和后面相似。
import requestsfrom bs4 import BeautifulSoupimport numpy as npimport pandas as pdimport warnings
后果:
2.2.3 刷洗歌词
察看发明,爬取的后果中还包括了一些非中文歌词局部,采用正则表达式来实行清算,并将终极后果存储到sun_3.xlsx中
import numpy as npimport pandas as pdimport re
最初后果如图,已较好的刷洗出了歌词文本局部,但为了更精确,可手动翻开excel文件再实行检查,最初合计盈余129首歌,合计38172字。
2.2.4 歌词文本分词
运用jieba包对已处置好的文本实行剖析处置,并过滤掉了单字。
import warnings
对后果做复杂的词频剖析,能够看出我们 没有等词的频次较高
3.歌词词云剖析
这局部能够运用python自带的wordcloud包,这里我偷懒间接用了一个在线网站WordArt
点击import words,载入分好词的文本
在辨别挑选shape,font实行定制,留意自带字体没法辨认中文,需求本人加载字体,这里我挑选的是simsun.tff
点击visualize 出图啦~
顺序仍是需求多写,多考虑多变化。今日要睡觉,早上十点起,去公司加班。各人能够加我交换群:58937142,内部老手材料,框架,爬虫。web都有,都是能够收费获取的,另有大牛解答各类困难,不失为是一个进修的好处所,小编在这里约请各人参与我的各人庭。欢送你的到来。
热门跟贴