在开始之前,做一点小小的说明哈:
- 我只是一个python爬虫爱好者,如果本文有侵权,请联系我删除!
- 本文需要有简单的python爬虫基础,主要用到两个爬虫模块(都是常规的)
- requests模块
- selenium模块
- 建议使用谷歌浏览器,方便进行抓包和数据获取。
-
很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!??¤
QQ群:623406465
Part1 进行网页分析
首先打开网易云的网页版网易云
然后搜索歌曲,这里我就搜索一首锦零的“空山新雨后”
Part2 编写爬虫程序
接下来就超级简单了
下面的代码是最常规的操作,应该有爬虫基础的都能看懂;如果有不懂的,注释都在上面
Part3 更高级的
看到这里,你可能会想,为啥根本没用selenium模块呢?能不能直接爬取任何一首我想要的歌,而不用每首都去费心费力的找一个url呢?当然可以哒!
其实网易云在线播放每首歌曲时,都有一个外链地址,这是不会变的,跟每首歌的唯一一个id绑定在一起,每首歌audio文件的url如下:
id值的获取也很简单,当我们点进每首歌时,上方会出现对应的网址,那里有id值,如下图:
- 进行selenium无可视化界面设置
- 导包
- 指定歌曲,得到对应搜索页面的url
- 获取搜索页面的html文件
- 用正则模块re匹配html文件中的id值、歌名和歌手
- 将id值、歌名和歌手封装成一个个元组,写入一个列表中,再进行打印
- 对满意的id值可得到一个url,再用上面的程序对该url进行requests.get方法访问即可
Part4 小结
终究是我才疏学浅,这个找外链进行爬取的方法也存在很多不足,比如不能在线播放的歌曲是无法下载的。
不过写这样一个小程序练练手,对自己能力的提高确是有极大帮助的。