[Music Download]当我用Python去爬取网易云音乐的时候,我TM直接裂开!!!
互联网的广大朋友们,大家好。
我是一名学习软件工程的大一学生。
就在前几天,我产生了一个想法,
如果用Python去爬取网易云音乐会怎么样呢?
源码和exe程序: https://pan.baidu.com/s/1kBChhe6ABeaBazX3abk8RQ
提取码: 7yr6
蓝奏云:https://lanzous.com/ibzetla
程序演示视频:https://www.bilibili.com/video/BV1M64y1M7yj
首先盗版音乐,确实影响很不好,我对所有音乐人说声抱歉,还请大家支持正版音乐,此程序,仅供大家参考与学习。 我写这个程序,完全没有冒犯网易云音乐和QQ音乐的意思。因为我自己的能力有限,爬取下来的音乐,都是网易云或者QQ音乐支持在线播放的。 不支持的话,我也爬取不下来。 后面的排行榜,评论,歌词功能,都是网页可以看到的. 我只是将数据爬取下来,封装到文本框而已,只是想单纯的学习一下爬虫技术,和怎么设计好看的界面。 如果给您带来的困扰,真的十分抱歉!
我为什么会去爬网易云,主要原因很简单。
就是因为我们学校迟迟未开学,在家里很无聊,想搞点事情。
就在前几天,我在逛网易云的时候,发现它的地址栏很特别。
地址栏里面有一串神秘的数字。然后我就在想,
是不是可以通过这改变链接里面的数字,获取不同音乐的下载地址。
我当时很激动的打开了pycharm,用requests
去爬了一下这个网页,想提取到我想要的数据。
然而,现实就是这么残酷。
网易云它有反爬机制,或者说它把这个网页加密了。
肯定,我是很不心甘的。然后我就换了一种方法。
用了selenium,这个可以自动操控浏览器的一个第三方库。
又是一顿操作,终于拿到了我想要的数据,
我也通过这些数据,成功下载了我想要的音乐。
由于使用selenium,要安装一个插件,具体是什么,
我这里就不多说了,感兴趣的可以自行百度。
也就是说,
我把写的程序拿到一个没有安装这个插件的电脑上面是跑不起来了的。
感觉还是有点不满意,但是又拿网易云没有什么办法,这就让我很难受。
由于我还要上网课,就把这个事先放一边了。
就在那天晚上,我跟我经常开黑又很菜的队友打完使命召唤战区。
我去洗碗的过程中,我突然想到了一个专门下载付费音乐的网站。
我爬不了网易云,爬它应该没问题吧。
终于经过3824个小时,我重写了下载网易云音乐的程序。
这样,不仅能在我自己的电脑上面跑,还能到别的电脑上面爬。
但是,我还是有点不满意,因为他不是一个GUI,操作起来还是有点麻烦。
于是我又经过6848个小时,完成了这个程序。
为什么是6848个小时,
因为中途,我不仅要上网课,我还去学了一下PySide2这个库。
我之前写过一个GUI,当时是用tkinter写的,
界面实在是不好看,我就放弃了tk。
不得不说pyside2确实很好用,而且还可以搭配
QT设计师使用,实现界面控件分离的操作。啊 真香~~~
以上四个功能,加Gui界面差不多1500多行代码。
这是我练习一年来,代码量最多的一次项目。
其中爬取网页的核心代码,肯定不是我一觉醒来就会的。
我也是通过不断的查资料,看博客,乐此不疲的学习,一点一点掌握的。
在这个过程中,我会遇到各种各样稀奇古怪的问题,
不知道怎么解决,就只有去问度娘。
她给我提供的信息过于详细,以至于一个小问题我就要花费很多的时间。
一天24个小时,我坐在电脑面前就有12个小时。
我也会眼干,我也会颈痛,我也会疲惫。
但是当我每解决一个问题的时候,我就会很兴奋,感到特别的幸福。
因为我不仅解决了问题,我还学到了一些新的知识。
兴趣是取悦自己的存在,或许这就是吧!
如果你觉得,我这个程序,还是有一点点小小强大的话,可以支持一下!
我这个未来的咸鱼程序员。
最后我会遵守“技术是开源的,知识是共享的”开发原则,
我会把我写的源代码,和打包好的exe程序。
希望对你有所帮助,也欢迎各位大佬指证我的错误,
如果你也对编程感兴趣话,不妨一起交流学习,共同进步。
世界因代码而改变!
Peace Out!