今天跟大家聊聊我最近折腾的:周华健的歌!
说起来,我从小就爱听周华健的歌,什么《风雨无阻》、《花心》、《朋友》,那都是KTV必点曲目。最近闲来无事,突然来了兴致,就想着能不能把他的歌都整理出来,然后自己做个歌单啥的,没事儿的时候听听,也挺惬意的。
说干就干!我先是打开了网易云音乐,准备一首一首的搜。但是搜着搜着我就发现,这工程量也太大了!周华健的歌也太多了!一张张专辑翻下来,眼睛都花了。而且有些歌的版本还不一样,听着也挺乱的。
于是我就开始琢磨,有没有什么更高效的办法。我想到了爬虫!之前学过一点 Python 爬虫的知识,虽然忘得差不多了,但是基本的思路还是有的。我就想着能不能写个爬虫,把网易云音乐上周华健的所有歌曲都爬下来,然后自动整理成歌单。
接下来就是开始回忆爬虫的知识了,我先是复习了一下 requests 库和 BeautifulSoup 库的用法,然后就开始分析网易云音乐的网页结构。发现网易云音乐的网页结构还是挺复杂的,各种加密和反爬虫机制。搞了好久,才找到歌曲列表的 URL。
找到了 URL 之后,我就开始写 Python 代码。一步一步的,先是发送 HTTP 请求,然后解析 HTML 页面,提取歌曲信息。遇到各种各样的问题,比如编码问题、反爬虫问题等等。不过好在网上有很多资料可以参考,一步一步的解决。我还记得当时为了解决一个编码问题,整整搞了一晚上,才发现是编码格式搞错了。
经过几天的努力,终于把爬虫写好了!运行了一下,一下子就把周华健的所有歌曲都爬下来了,保存到了一个 CSV 文件里。看着密密麻麻的歌曲列表,成就感满满!
有了歌曲列表之后,我就开始整理歌单。我用 Python 读入 CSV 文件,然后按照专辑和发行年份进行排序。还把一些重复的歌曲和一些不太喜欢的歌曲给删掉了。整理出来一个包含几百首歌的歌单。
一步,就是把歌单导入到我的音乐播放器里。我用的是 Foobar2000,它可以直接导入 CSV 文件。导入之后,我就可以随时随地的听周华健的歌了!
这回折腾周华健歌曲的经历,让我重新回顾了一下 Python 爬虫的知识,也让我更加了解了周华健的音乐。虽然过程有点曲折,但是结果还是令人满意的。以后没事儿的时候,我还可以用类似的方法,整理其他歌手的歌单。感觉自己又掌握了一项新技能!
对了,我还把这回爬虫的代码和整理好的歌单都放到了我的 Github 上,感兴趣的朋友可以去看看。