Python社区  »  Python

用Python分析韩国女团最喜欢的英文单词

Python中文社区 • 3 月前 • 57 次点击  


盛光晓,粗通python,精通arcpy,某公司首席Python扛把子程序员。

博客:https://blog.csdn.net/esa72ya

本文作者已加入Python中文社区专栏作者计划

韩国女团的起名思路别具一格。明明都身在地球,却要"hello venus"(金星你好);明明一身清凉夏日装,组合名字却偏偏要叫"red velvet"(红色天鹅绒)。有了“girls generation”还不够,还要再组建一个“girls day”。词汇量不够大的话,追星都会显得缺少底气。也是多亏她们的名字这么有文化,我才可以理直气壮、脸红脖子粗地向我的母上大人解释,“妈,我不是在追女团,我是在学英语”。

对韩国女团略有了解的人都知道,她们的歌词里总是不时夹杂着几个英文单词,甚至于有的干脆歌名就是英文单词,比如《lion heart》,《troube maker》,《vibrato》,《genie》(genie居然是一个英文单词?真是让我再一次感受到自己的孤陋寡闻)。

那么,韩国女团最喜欢的英文单词是什么呢?我们可以采用selenium框架,创建爬虫工具来将她们的歌词都提取出来,然后进行词频分析和统计就可以了。

首先,就是选定要爬取的音乐平台,对于每个女团,QQ音乐和网易云音乐都最多只能显示60首歌曲,酷狗音乐最多只能显示30首歌曲,要查看更多内容还要下载客户端,而虾米音乐对于爬虫工具的态度则是近乎于严防死守,障碍重重,即使用了代理工具也是无法突破。出于种种考虑,最终选定酷我音乐为要爬取的音乐平台,可以看到女团的所有歌曲,而且歌词的质量也比较高。

特此感谢酷我音乐的包容态度和分享精神。

我们先来分析网址的结构,是由 http://www.kuwo.cn/artist/content?name= 和歌手名字组合而成,将stellar替换为你喜欢的歌手名字,就可以看到她的主页了哟。

知道歌手主页的网址以后,就可以启动一个模拟浏览器,输入网址,点击回车,就可以看到他的主页了。代码就是下面这几行:

driver=webdriver.Opera()
driver.get('http://www.kuwo.cn/artist/content?name=stellar')

然后,获取“歌曲”标签,点一下,切换到“歌曲”页面,否则,你只能看到你已经看过无数遍的歌手的基本信息介绍。这行代码就可以:

driver.find_element_by_xpath('//*[@id="tab_music"]/span').click()

再然后,就是用正则表达式提取歌单页面所有歌曲的id,用歌曲id就可以直接访问歌曲页面,网址示例如http://www.kuwo.cn/yinyue/1162458,将1162458替换为其他歌曲的id就可以转到其他歌曲的页面,代码如下:




    
patten=re.compile(r'href="/yinyue/\d+"')
result=patten.findall(str(bs_obj))

接着,我们进入到歌曲页面,就可以提取歌词了,同样是用正则表达式:

pat=re.compile('class="lrcItem">.*')
result=pat.findall(str(j))

最后,将采集到的歌词输出到文本文件就可以了,部分结果如下:

接下来,我们进行词频的分析和统计。读取所有歌词文件,提取出其中出现的英文单词,统计这些单词的出现次数,最终的统计结果如下:

分析这个统计结果,可以看到,韩国女团最喜欢的英文单词,主要分为三类:

第一类是语气词,比如"hey",“oh”,“yeah”,“ah”,“woo”,“huh”,“whoo”。众所周知,语气词具有极强的共情能力,可以瞬间让小伙伴领会你的情绪,此外,在排练的时候,多用语气词也可以方便女团成员间的互相打气。

第二类是表示人物关系的词,比如"you",“me”,“my”,“baby”,“boy”,“love”,“we”,用看似有来有往的恋人之间的亲昵称谓,给粉丝以无与伦比的沉浸式体验。

第三类是表示动作的词,比如"know",“go”,“come”,“hear”,“come”,“let”,有可能大韩民国的英语教材和我国师承一派,从头到尾都是“have fun”,“have a rest”,"go to cinema"这种在高考英语作文中都不能制造得分点的简单短语。但是这种简单短语的优势也是无可比拟的,那就是通俗易懂。

zhi

chi

zuo

zhe


长按扫码鼓励作者

点 击 投 稿


热 门 推 荐

用Python查看微信共同好友

用Python获取摄像头并实时控制人脸

用 Python 验证股神巴菲特的投资经验

开源项目 | 如何免费创建云端爬虫集群

用Python分析《都挺好》中的人物关系

推荐Python中文社区旗下的几个服务类公众号

▼ 点击成为社区注册会员          「在看」一下,一起PY!

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/33053
 
57 次点击  
分享到微博