缘起

《中国有嘻哈》这个节目在这个夏天吸引了无数的目光,也让嘻哈走进了大众的视野。作为我今年看的唯一一个综艺节目,它对我的影响也蛮大。这个夏天,我基本都在杭州度过,在上下班的taxi上,我几乎都在刷这个节目,最后可以说是看了好几遍。同时,也了解了flow、punchline、diss、酷炫的双押、三押等等专业词汇。

这其中,我尤其对押韵感兴趣。我在想,如果,我把嘻哈歌手唱的所有押韵的词汇都拿下来,然后只要给一个关键词,就能随时随地来一段儿押韵的FreeStyle,是不是很炫酷~

大概思路

整体的思路很清晰,就是

歌单 -> 歌曲(歌词) -> 分词词库、拼音 -> 韵脚 -> 随时随地的FreeStyle

网易云音乐网站爬取数据

首先进入网易云歌单页面,分类选择“说唱”:

可以看到网友们整理的说唱的歌单都在这里啦~对所有的歌单页面爬取,得到说唱歌单list,共1275张歌单:

进入其中一个歌单,有该歌单的歌曲页面:

对所有歌单的歌曲页面进行爬取,得到歌曲list, 共得到1W+首歌曲

取得每首歌曲的songId,调用歌词API (http://music.163.com/api/song/lyric?os=pc&id=509135896&lv=-1&kv=-1&tv=-1) 得到歌词:

当然,网易云还是做了一些反爬策略,刚开始测试的时候,我的真实IP就被拉黑了。返回大量503:

于是,找了一组代理IP,并且对爬虫进行了限速,绕过了反爬机制。

爬取过程gif:

这样大概过去了几个小时,1W+的歌词就都到手啦!

数据处理 (分词,拼音解析,获取双押、三押)

接着是将每首歌的歌词进行分词,使用开源的结巴分词进行并行分词,使用举例如下:

可以看到这句话的切分结果还是让人满意的。

结巴分词还可以对一段词分词后进行统计:

这样就可以对一篇文档进行分词及统计计数。于是我把每首歌都进行分词,把结果扔到了redis的zset结构中,出现次数记为score。完成之后,我基本就获取了整个嘻哈歌单的所有歌曲的全部词库。

接下来的问题是,如何将词库里的词转为拼音呢?开源的xpinyin解决了这个问题,使用举例如下:

xpinyin识别出了火锅底料对应的拼音组成。

那么韵脚又是什么东西呢?

拿 Jony-J的 《套路》举例, 迈步(mai-bu)、态度(tai-du)、外露(wai-lu)、带路(dai-lu), 其中的韵脚是 ai-u。

那么我该怎么获取词的韵脚呢?经过观察,我发现可以用 “aeiou” 作为字的分界, 取当前以及后面的部分为韵脚(这个其实比标准押韵要严格)

比如,火锅底料 -> huo-guo-di-liao -> uo-uo-i-iao

词云

用嘻哈音乐里的词去生成词云,可以直观的看到嘻哈歌手们歌里主要在唱些什么:

来段儿FreeStyle吧

前戏已经做足了,现在,我想要以”炒饭“为话题来一段儿FreeStyle(灵感来源于PGONE的炒面FreeStyle),于是我先搜了”炒饭“:

有很多双押的词,那我就用这些词来一段儿rap吧!

视频在此,前方核能!

https://v.qq.com/x/page/q05574kytoi.html

炒饭FreeStyle (PGONE风格,我最屌,你们都是傻逼)

beat: Rap God (Instrumental)

yo yo yo, whatsup.

This is MC YOUNG.

炒饭FreeStyle

LISTEN.

drop the beat DJ.

yo, yo, yo, yo, listen, listen, listen, check it.

Ready Ready Ready Ready Ready Ready Ready

不要听信那些谣言,

这只是对你的考验。

这场show我才是导演,

AKA你的老板。 ya ya

你若是再捣蛋,

年过三旬的老汉,

送你豪华的套餐,

滚回家去吃炒饭。

yeah 哥们儿的verse就是这么高产,

yeah 不像那些个盗版的hater让人讨厌,

也不好看,只会捣蛋,

还试图高攀那靠山, ya ya

攀不上了只会说好难,

到最后发现对面的我才最耀眼。 skr skr

诶, 你问我是哪个,

look at me,

老子一身正气浩然,

铜锣湾的陈浩南。 punchline

双押*19 达成 !

这段rap用 Final Cut Pro X 剪切视频,做的字幕。第一次做视频,大家见谅哈哈。

挖坑

挖个坑,下次写一个输入一个词,能实现以这个词为核心自动生成一段意思大致通顺的押韵的rap的功能。

欢迎关注我的微信公众号“芦阳以为”~

微信扫一扫
关注该公众号

转载于:https://www.cnblogs.com/leoyoung1991/p/7625839.html

我用Python爬取网易云音乐上的Hip-hop歌单,分析rapper如何押韵相关推荐

  1. Scrapy 爬取网易云音乐播放量百万以上的歌单以及歌单详情

    创建爬虫 查看歌单链接 https://music.163.com/#/discover/playlist 用 requests 下载此链接的网页发现不是原网页,应该是被跳转到了登录页面.分析之后得到 ...

  2. python爬取网易云音乐热评_python爬取网易云音乐评论

    本文实例为大家分享了python爬取网易云音乐评论的具体代码,供大家参考,具体内容如下 import requests import bs4 import json def get_hot_comme ...

  3. python爬取网易云音乐飙升榜音乐_python爬取网易云音乐热歌榜 python爬取网易云音乐热歌榜实例代码...

    想了解python爬取网易云音乐热歌榜实例代码的相关内容吗,FXL在本文为您仔细讲解python爬取网易云音乐热歌榜的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:python,网易热歌榜 ...

  4. python爬取网易云音乐飙升榜音乐_python爬取网易云音乐热歌榜实例代码

    首先找到要下载的歌曲排行榜的链接,这里用的是: https://music.163.com/discover/toplist?id=3778678 然后更改你要保存的目录,目录要先建立好文件夹,例如我 ...

  5. Python爬取网易云音乐热歌榜(爬虫)

    Python爬取网易云音乐热歌榜歌曲,并下载到本地 找到要下载歌曲排行榜的链接,这里用的是: https://music.163.com/discover/toplist?id=3778678 然后更 ...

  6. python爬取网易云音乐生成王力宏歌曲词云

    python爬取网易云音乐生成王力宏歌曲词云 # -*- coding:utf-8 -*- # 网易云音乐,通过歌手id生成词云 import requests import sys,re,os fr ...

  7. python爬取网易云音乐排行榜数据

    python爬取网易云音乐排行榜歌曲及评论 网易云音乐排行榜歌曲及评论爬取 主要注意问题:selenium 模拟登录.iframe标签定位.页面元素提取. 在利用selenium定位元素并取值的过程中 ...

  8. [爬虫]Python爬取网易云音乐搜索并下载歌曲!

    Python爬取网易云音乐搜索并下载歌曲! 文章目录 Python爬取网易云音乐搜索并下载歌曲! 1.准备工作 2."实地"观察 3.开始码代码! 4.搜索并下载 结束语 1.准备 ...

  9. 用Python爬取网易云音乐歌曲

    前天给大家分享了用Python网络爬虫爬取了网易云歌词,在文尾说要爬取网易云歌曲,今天小编带大家一起来利用Python爬取网易云音乐,分分钟将网站上的音乐down到本地. 跟着小编运行过代码的筒子们将 ...

最新文章

  1. 《使女的故事》大火,AI是背后最大推手?
  2. Sql结果导出为excel文件
  3. windows残留软件卸载
  4. 计算机安全基础:加密技术知识笔记
  5. 安全,从写第一行代码开始!
  6. Delphi LiveBinds组件
  7. vue中npm run dev运行项目不能自动打开浏览器! 以及 webstorm跑vue项目jshint一直提示错误问题的解决方法!...
  8. H3C交换机IPv6无状态地址自动配置
  9. Python一步实现静态图片动态化
  10. 卸载360天擎企业版需要密码
  11. 逻辑与计算机设计基础实验报告,逻辑与计算机设计基础--课实验的报告.doc
  12. 计算机设备预计净残值,【电子设备折旧年限及残值率】
  13. 主机和服务器之间有何区别?
  14. Python基础-19-魔法方法(常用)
  15. 美国股市何时使用计算机,2020年股票交易何时开始?香港股市交易时间(图形)...
  16. 进程和线程合集以及实例
  17. 关于宽带路由器都有DNS代理功能之说
  18. 安卓数据恢复大师:PhoneRescue for Android Mac中文版
  19. Serial Presence Detect (SPD) Table
  20. JavaScript基本数据类型以及内存分配

热门文章

  1. DW06D二合一锂电池保护 IC
  2. 电动汽车 V2G 放电模型 算法 考虑电动汽车家庭慢充和充电站快充两种模式下,模拟出一定数量电动汽车的日负荷曲线
  3. 【SLAM】ORB-SLAM3解析——综述(1)
  4. Java之~hutool批量压缩多个图片文件上传到云服务(InputStream )
  5. iOS设置自定义UA [NSUserDefaults standardUserDefaults] registerDefaults:@{ @UserAgent:
  6. 一种电力设备驱鸟装置
  7. 人工智能数学基础5:数列的单调有界定理
  8. 设置开机软件启动的方法
  9. 【poi第七节】poi设置excel 设置字体格式,java设置excel设置字体格式
  10. 2021年券商APP盘点:用户规模大幅度增长,智能炒股成为行业标配