免费爬取歌曲的脚本

免费爬取歌曲的脚本

脚本地址

本脚本依托于网站歌曲宝的资源,这个网站的歌曲可以进行免费的下载。
但是一首一首下载歌曲太慢了,怎么办?
所以就诞生了本脚本

本脚本用于批量下载某个歌手的热门歌曲,不用一首一首下载

当然啊,如果,你有想下载歌曲的 id ,也可以直接修改程序进行批量的歌曲下载

使用方法

  1. 首先定义自己想要哪些歌手的歌曲,把名字放入get_list.py中的singer_list变量中(最好一个一个来,或者少一点,不要太多了,像博主放了几十个singer后面就很多下载失败了,而且可能会受到网站制裁吧)
  2. 运行get_list.py
  3. 然后运行version2.py
  4. 后面下载好的歌曲就会在当前文件夹的downloads目录下,包括歌词和mp3歌曲文件

方法原理

在这里插入图片描述

  • 如图,可以看到通过链接用浏览器访问链接https://www.gequbao.com/s/%E5%91%A8%E6%9D%B0%E4%BC%A6 就可以得到一个歌曲列表,通过解析a标签,把他的href属性值拿出来,然后在拿到 ID 值就知道歌曲的编号了

  • 知道了歌曲的编号以后,就能够访问这首歌的主页了,主页的链接https://www.gequbao.com/music/39466 后面的数字就是歌曲的编号,如图
    在这里插入图片描述

  • 通过模拟点击下载歌曲,下载歌词,就能够完成啦。

  • 不过有一个特殊处理就是点击下载歌曲以后不是立刻就能直接下载歌曲的,然后会有个弹窗,然后还要再次点击普通下载才行
    在这里插入图片描述

  • 另外再点击普通下载以后不一定能够直接下载,而是一个stream流的一个mp3链接,这里就需要利用request库进行直接请求下载

  • 为了程序的健壮性,做了一个简单的异常处理,只要在进行下载的时候出错了,那么当前这首歌的下载就会直接结束,进入下一首。

效果

  • 抽取标签保存到文件中
    在这里插入图片描述

  • 模拟浏览器进行下载
    在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xwhking

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值