今天跟大家唠唠我琢磨“mojito周杰伦歌词”这事儿,纯属个人瞎搞,大家就当听个乐呵。
我就觉得这歌词挺有意思,想看看能不能用代码给它拆解拆解,看看能不能玩出点啥花样来。说干就干,我先是把歌词从网上扒了下来,复制粘贴到我的文本编辑器里,这算是第一步,原材料有了。
然后就开始琢磨,要怎么下手?我想着既然是歌词,那肯定要按句子来分,先试试能不能把每一句歌词都提取出来。我就开始写Python代码,用了split函数,按照句号、问号、感叹号这些标点符号来分割字符串。结果嘛还算凑合,大部分句子是分开了,但是有些句子中间有省略号、顿号啥的,就没分干净。没办法,只能手动调整,把那些没分开的句子,一个个改过来。
句子分好之后,我又想着能不能统计一下每个词出现的频率。毕竟周董的歌,用词还是很有特点的。这回我用了jieba分词,这玩意儿挺好使,能把中文句子分成一个个词语。分完词之后,我就用Python的Counter模块,统计每个词出现的次数。结果一出来,我发现“我”、“的”、“你”这些词出现的频率最高,这也很正常,毕竟是情歌嘛但是除了这些常用词,还有一些词出现的频率也挺高的,比如“咖啡”、“笑容”、“雪茄”,这些词就很有画面感,感觉一下子就把你带到了古巴的街头。
折腾完这些,我又想着能不能把歌词做成一个词云。就是把那些出现频率高的词,用更大的字体显示出来,这样看起来更直观。我用了wordcloud这个库,这玩意儿用起来也挺方便的,只要把词频统计的结果传进去,它就能自动生成词云图片。我调了调颜色、字体,还加了一个古巴地图的背景,看起来还挺像那么回事的。
我还想着能不能把歌词做成一个简单的文本游戏。就是把歌词打乱顺序,让玩家来重新排列。这个我还没完全实现,只是写了一个简单的框架,能把歌词打乱,然后显示出来。但是怎么让玩家输入答案,怎么判断答案是否正确,这些还没来得及做。以后有时间再慢慢琢磨。
这回瞎折腾还挺有意思的。虽然没做出啥惊天动地的大项目,但是也算是把Python的一些常用库给熟悉了一遍。而且通过这回实践,我对周董的歌词也有了更深的理解。下次再听到这首歌,我可能会想到代码、词频、词云,哈哈。
- 扒歌词:从网上复制粘贴,最原始的方法。
- 分句子:用split函数,然后手动调整。
- 分词:用jieba分词,简单好用。
- 词频统计:用Counter模块,快速统计词频。
- 词云:用wordcloud库,美化词云图片。
- 文本游戏:还没完成,以后再搞。
希望这回分享对大家有所帮助,也欢迎大家在评论区留言,一起交流学习!