在开始之前,做一点小小的说明哈:

我只是一个python爬虫爱好者,如果本文有侵权,请联系我删除!

我自己有些曾经付费的Python资料现在已经学完了,有需要的可以评论区留言或者直接私信我,免费送给你们。

本文需要有简单的python爬虫基础,主要用到两个爬虫模块(都是常规的)

requests模块

selenium模块

建议使用谷歌浏览器,方便进行抓包和数据获取。

Part1 进行网页分析

首先打开网易云的网页版网易云

然后搜索歌曲,这里我就搜索一首锦零的“空山新雨后”

这时我们来观察网页的url,可以发现s=后面就是我们搜索的关键字

当我们换一首歌,会发现也是这样的,正好验证了我们的想法

所以下一步让我们点进去一首歌,然后进行播放,看看能否直接获取音乐文件的url,如果能,那么直接对url进行requests.get访问,我们就能拿到.mp3文件了

点进第一首“空山新雨后”,我们可以看到有一个“生成外链播放器”

看到这个,我心中一阵激动,仿佛就要大功告成;于是我满怀开心的点了一下,结果。。。

好吧,不过我们不能放弃,来我们分析一下网页

但当我们定位到两个最有可能出现外链的地方时,发现什么都没有

不过作为“规格严格,功夫到家”的传承者,我不能放弃啊,于是我又打开了抓包工具

按照常规套路,我们定位到XHR

点击播放后,出现了一大堆东西,我们要做的就是找到其中的content-type为audio一类的包

功夫不负有心人,在寻找了一(亿)会儿后,我找到了

于是我又满怀开心的复制了这个包对应的Request-URL

粘贴后访问这个url,结果非常满意,这就是我一直在找的url

现在我把那个url贴出来

Part2 编写爬虫程序

接下来就超级简单了

下面的代码是最常规的操作,应该有爬虫基础的都能看懂;如果有不懂的,注释都在上面

Part3 更高级的

看到这里,你可能会想,为啥根本没用selenium模块呢?能不能直接爬取任何一首我想要的歌,而不用每首都去费心费力的找一个url呢?当然可以哒!

其实网易云在线播放每首歌曲时,都有一个外链地址,这是不会变的,跟每首歌的唯一一个id绑定在一起,每首歌audio文件的url如下:

id值的获取也很简单,当我们点进每首歌时,上方会出现对应的网址,那里有id值,如下图:

所以只需把上面程序中的url改成新的url即可

如果还想要更好的体验效果,实现在程序里直接搜索歌曲,拿到id值,就需要用到selenium模块

为什么用selenium而不用xpath或bs4?

因为搜索页面的数据是动态加载出来的,如果直接对搜索页面的网页进行数据解析,就拿不到任何数据;以我目前的技术,就只能想到使用万能的selenium模块,下面大概说明一下步骤:

1.进行selenium无可视化界面设置

2.导包

3.指定歌曲,得到对应搜索页面的url

4.获取搜索页面的html文件

5.用正则模块re匹配html文件中的id值、歌名和歌手

6.将id值、歌名和歌手封装成一个个元组,写入一个列表中,再进行打印

7.对满意的id值可得到一个url,再用上面的程序对该url进行requests.get方法访问即可

Part4 小结

终究是我才疏学浅,这个找外链进行爬取的方法也存在很多不足,比如不能在线播放的歌曲是无法下载的。

不过写这样一个小程序练练手,对自己能力的提高确是有极大帮助的。

想自学的小白或者需要资料的大佬可以找我领取免费的 Python资料。

大家共同进步!

5 python 页面说明_Python爬虫爬取网易云的音乐相关推荐

  1. java怎么爬网易云_Python爬虫爬取网易云的音乐

    Python爬虫爬取网易云的音乐(学习笔记) 在开始之前,做一点小小的说明哈: 我只是一个python爬虫爱好者,如果本文有侵权,请联系我删除! 本文需要有简单的python爬虫基础,主要用到两个爬虫 ...

  2. 用Python给我写一个爬取网易云的音乐代码

    好的,为了爬取网易云音乐,我们需要使用一些第三方库来帮助我们处理网络请求和解析 HTML/XML 数据.在这里,我建议您使用 requests 库来发送网络请求和 Beautiful Soup 库来解 ...

  3. python爬虫爬取网易云音乐歌曲_Python网易云音乐爬虫进阶篇

    image.png 年前写过一篇爬网易云音乐评论的文章,爬不了多久又回被封,所以爬下来那么点根本做不了什么分析,后面就再改了下,加入了多线程,一次性爬一个歌手最热门50首歌曲的评论,算是进阶版了- 思 ...

  4. python网络爬虫网易云音乐下载_python网络爬虫爬取网易云音乐

    #爬取网易云音乐 url="https://music.163.com/discover/toplist" #歌单连接地址 url2 = 'http://music.163.com ...

  5. python网易云_用python爬虫爬取网易云音乐

    标签: 使用python爬虫爬取网易云音乐 需要使用的模块 只需要requests模块和os模块即可 开始工作 先去网易云音乐网页版找一下你想要听的歌曲点击进去.按键盘F12打开网页调试工具,点击Ne ...

  6. python爬虫----爬取网易云音乐

    使用python爬虫爬取网易云音乐 目录 使用python爬虫爬取网易云音乐 需要使用的模块 开始工作 运行结果 需要使用的模块 只需要requests模块和os模块即可 开始工作 先去网易云音乐网页 ...

  7. Python爬虫—爬取网易云音乐【热歌榜】歌曲的精彩评论(写入txt文本文件或者MySQL数据库)

      最近在学Python爬虫,看了Blibili爬取网易云音乐评论的视频,视频中是将一首歌的评论存入json文件,我在此代码的基础上扩展了三点:     1.爬取热歌榜200首歌曲的精彩评论:     ...

  8. 如何用Python网络爬虫爬取网易云音乐歌曲

    今天小编带大家一起来利用Python爬取网易云音乐,分分钟将网站上的音乐down到本地. 跟着小编运行过代码的筒子们将网易云歌词抓取下来已经不再话下了,在抓取歌词的时候在函数中传入了歌手ID和歌曲名两 ...

  9. java爬取网易云歌单_爬虫爬取网易云歌单

    一.主题式网络爬虫设计方案 1.主题式网络爬虫名称:爬取网易云音乐歌单 2.主题式网络爬虫爬取的内容与数据特征分析 爬取网易云音乐歌单前十页歌单,轻音乐类型的歌单名称.歌单播放量.歌单链接.用户名称. ...

  10. 反爬虫爬取网易云歌单

    一.主题式网络爬虫设计方案 1.主题式网络爬虫名称:爬取网易云音乐歌单 2.主题式网络爬虫爬取的内容与数据特征分析 爬取网易云音乐歌单前十页歌单,轻音乐类型的歌单名称.歌单播放量.歌单链接.用户名称. ...

最新文章

  1. activity 启动模式_腾讯大牛:你根本不懂Activity!
  2. Ka的递归编程练习 Part4|Hanoi汉诺塔,双色汉诺塔的也有
  3. nginx配置websocket代理
  4. 北京44岁程序员失业,感叹:编程估计没戏了,想去卖煎饼果子
  5. 京东数科首次公开:强一致、高性能分布式事务中间件JDTX
  6. Linux美化——终端提示符
  7. DT100pro上手体验
  8. ncre二级java_如何备考计算机二级java?
  9. 都是远程办公惹的祸!搜狗输入法为错误推送地震预警信息致歉
  10. iOS常用手势识别器
  11. Eclipse自动生成作者、日期注释功能设置
  12. mysql 直接删表空间文件_oracle删除(释放)数据文件/表空间流程
  13. 网络通信框架 HP-Socket v5.5.1,支持可靠 UDP
  14. 项目国际化时,简体中文转繁体的自己主动化方案
  15. MindManager2021补丁注册码激活码生成器
  16. android 日历 签到,Android MaterialCalendarView 日历使用 每日签到
  17. BigDecimal的8种round舍入模式
  18. Hadoop学习(一)
  19. FineUI大版本升级,外置ExtJS库、去AXD化、表格合计行、表格可编辑单元格的增删改、顶......
  20. 日记侠:你的朋友圈能引流,你还不知道?

热门文章

  1. 在 Less 中写 IE 的css hack
  2. Day46:数据库引擎、索引、pymysql
  3. HttpServlet请求重定向
  4. jquery-修改、回退结果集
  5. jquery mobile页面跳转后js不执行的问题
  6. Effective C# 学习笔记 (一)
  7. 排序算法专题-选择排序
  8. 从零基础入门Tensorflow2.0 ----一、2. 实战回归模型
  9. python地理空间分析——构建SimpleGIS
  10. 【空间分析】7 叠置分析和缓冲区分析