适合新手学习js加密技术-千千音乐爬取

我是按照歌手为分类爬取的,正常思路是 歌手信息–>歌单信息–>每一首歌的信息–>歌曲的真实播放地址
但是我今天的思路是不正常的,但是我感觉挺正常的(哈哈哈)我的思路 歌曲真实播放地址–>每首歌的信息–>歌单信息–>歌手信息
其实我这个思路对于音乐网站来说是正确的 ,也是我爬了这么多音乐网站得出来的,具体原因看我下面的分析就知道了

1.爬取的音乐
在这里插入图片描述
某个歌手的热门单曲

  1. 我们来找一些单首歌的真实地址
    在这里插入图片描述
    点击播放全部就会跳到下面这个页面,按照我截图上面的提示操作
    在这里插入图片描述
    复制链接在浏览器中打开
    在这里插入图片描述
    到这里我们就找到歌曲的真实地址了,第一步基本完成
  2. 歌曲的地址 一般都是别的请求返回来的,我们查找是哪个地址返回的,并查看请求参数
    通过全剧搜索很轻松就能找到
    在这里插入图片描述
    接下来我们我们看一下请求参数
    在这里插入图片描述
    在这里插入图片描述
    我们发现有四个参数,分别是sign,appid,TSID,timestamp我们一一分析
    sign:经常爬虫的人肯定知道 签名认证,一般是js加密的
    appid:不会发生改变,是千千音乐的标识 不用管
    TSID:这还有一个id,仔细想一下这肯定就是歌曲的id了 也是需要获取的
    timestamp:时间戳
  3. 首先破解sign参数
    找到js文件,搜索sign
    在这里插入图片描述

通过打断点查看sign生成需要的参数
在这里插入图片描述

可以看到sign是一些参数(看我截图)传入一个函数然后返回的。我们继续查找这个函数,打断点检查,在这里插入图片描述
到这应该就明白了了吧,截图上面也很清楚了,到这sign参数成功解密
5. 现在找歌曲id
在这里插入图片描述
歌曲id我们也有了,到这里某位歌手的所有热门单曲我们就都可以爬下来了,但是我们只爬一个人的吗,当然不,我全要,所以接下来我要获取所有的歌手id

  1. 获取歌手id
    在这里插入图片描述
    可以看到分了很多页,我们只获取1页的数据,别的页只是在地址改一下页数就可以
    在这里插入图片描述

刚开始我以为会在网页的标签里面,找个一会发现竟然没有,这时候就体现出脑袋聪明的好处了
(#.#)
我们在网页源码里搜索一个歌手的名字就可以了
在这里插入图片描述
通过正则匹配出来就行了,

到这就接近尾声了,感觉文章对你有帮助的小伙伴记得点个关注哦,代码就不公布了,也挺简单的,想要源码可以私聊我
在这里插入图片描述

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

爱笑的光头强

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

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

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

打赏作者

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

抵扣说明:

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

余额充值