最新酷狗音乐反爬来袭,Python掌握酷狗排行榜加密规则

在这里插入图片描述

找到MP3的数据提交地址 mp3数据来自于这个url地址

在这里插入图片描述在这里插入图片描述

提交数据的网址:

https://wwwapi.kugou.com/yy/index.php?r=play/getdata&callback=jQuery19102816534571347611_1626783818555&hash=A38449E76C74D45825F565C1FDB825C0&dfid=3dKstH1sJdRa44o6Vj0ZIryF&mid=4458f6d567640b39de367a394d69879e&platid=4&album_id=40437970&_=1626783818556

将多个网址数据进行对比看看哪些参数是需要自行修改的 在这里插入图片描述 变化的url数据有3个

  • hash

  • album_id

  • _

_ 可以明显看出来是时间戳 需要获取到对应的hash以及album_id的值 来到主页找寻对应的歌曲id数据 发现数据来自网页源代码 在这里插入图片描述

歌曲的数据都是来自网页源代码

在这里插入图片描述

梳理整体思路:

  • 从首页源码里提取出对应的hash、album_id值

  • 组合成新的url地址

  • 获取到json数据总的歌曲播放地址##

简易源码分析


本章内容只限学习,切勿用作其他用途!!!!!

import requests

import re

import time

def Tools(url):

headers = {

‘user-agent’: ‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36 Edg/91.0.864.70’

}

response = requests.get(url, headers=headers)

return response

def Save(name, url):

mp3 = Tools(url).content  # 请求mp3地址链接 返回格式是16进制

f = open(‘./kugou/{}.mp3’.format(name), ‘wb’) # w 文件存在就写入 不存在就会创建 b进制读写

f.write(mp3)

f.close()

print(‘{}下载完成…’.format(name))

url = ‘https://www.kugou.com/yy/html/rank.html’

response = Tools(url).text

album_id = re.findall(r’“album_id”😦\d*?),', response) # id

Hash = re.findall(r’“Hash”:“(.*?)”,', response)  # hash

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里无偿获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值