读万卷书不如行万里路,学的扎不扎实要通过实战才能看出来,本篇文章手把手带你解析网易云音乐数据,大家可以在实战过程中更有效的掌握python(python语言)
目录
环境知识点第一步第二步开始代码先导入所需模块请求数据提取我们真正想要的音乐的名称身份证明(identification)号导入联署材料文件保存文件完整代码
环境
python3.8
派沙姆2021.2
知识点
点安装请求
execjs pip安装PyExecJS
第一步
打开这个网站在里面去分析我们需要的数据每个音乐的名称身份证明(identification)号
去网页源代码查找数据,发现并没有,这个网页并不是一个静态页面
打开开发者工具,找到歌曲的身份证明(identification)号
找到真正的目标网址339音乐。163 .com/discover/top list-音乐搜寻工具
【中文】付费贵宾级人物完整版【中文】只要看了就能学会的教程,80集python(python语言)基础入门视频教学
点这里即可免费在线观看
第二步
通过代码去实现当前这一个步骤
通过代码去访问当这个页面-拿到网页源代码
提取我们真正想要的音乐的名称身份证明(identification)号
下载音乐:id获取是为了下载音乐分析里面音乐数据的加密规则去下载歌曲
开始代码
先导入所需模块
导入请求
导入关于
导入execjs
请求数据
#年#月#日通过代码去访问当这个页面-拿到网页源代码
URL=' 339音乐。163 .' com/discover/top list '
#年#月#日伪装
标题=>
【饼干】:540 d3ec 18 d9 b4a 0 BDF 51 e 931中的" _ ntes _ nuid=063717 WM _ tid=sx ztjh/jbyzberfbzvdbunjprvyf;S7-1200可编程控制器:nmtid=00 osbnfchgv 2 TD 7k 5 ihszky 6r 8 lxgaaaf 0 zow moa;_ ntes _ nnid=063717,540d3ec18d9b4a0bdf51e931,160734992641;_ iuqxldmzr _=32 out fox _ search _ user _ id _ NCO=2144581542.327377:wevnsm=1。0 .0wnmcid=sa zafu。1624080681192 .01 .0;S7-1200可编程控制器:_ _ _ _ _ root _ domain _ v=。163 .com:_ qd=qd。1592303552240;vinfo _ n _ f _ l _ n3=11 aae 7905 aa 2179 b . 1。11 .1575470964063 .1625470009945 .1632894007779;用户轨迹=ezq 0 J2 flwnyypxax 88 ag=;jsssionid-wyyy=yvm 62 \ nd 8 xnkt 2 rycnojx 9 urqxsxcdmf 6 srnngretmb 5 mrrs 9或/ww 3 jbvf 960 uhw3bb/bhv 2 xzm 3 vn++ onzsx 38 sqkiumrd 6 tdkd 39 hrz mar \ p9 iuans \ 5 nyt 9 xlt jbt 5 qrgwsl 0 pz xdhs 26 uggazpfxxajam 0 o/v:16341116944;WM _ ni=au 9 xpuutn 3 gwymeozsagwl 6+H4 ctchgykos+wibr 3 hsntqhrpx/locaycokerzlb 1 lll uik 9 jlkxaauths 4 tfzr 9 jwb 3 lvjxkmh 4+mpukbepcnhan 80 j8/hoqeyms=;WM _ Nike=9ca 17 AE 2 e 6 ffcda 170 e 2 e 6 ee 8 de 74 b 85 b 18 EB 3 b27 BAE 8 e 8 ab 2d 44 e 969 f 9 aafae 3388 af 8 f 98d 06 da 59 b 968 ECF 2 af 0 FEA 7c 3 b92 aa 3 abf 37 FB 7 AC 82d 4 c 67 dbbb 38 b 90d 97983 b 9998 db 5218 ce ADB 5 e
用户代理:Mozilla/5.0(windows nt 10.0);win 64x 64)apple WebKit/537.36(KHTML,类似壁虎)chrome/94。0 .4606 .81 safari/537.36 '
}
#网址:分析出来的真正数据链接
#标题:伪装请求头
response=requests.get(url,标头)。文字(吨)
#回应[200]:告诉你访问成功了
提取我们真正想要的 音乐的名称 id
zip _ data=re。findall(' lia href='/song \?id=(.*?)' rel=' external no follow ' rel=' external no follow '(*?)/a/李,响应)
对于音乐id,邮政编码数据中的标题:
# URL _ 1=' http://音乐。163 .com/song/media/outer/URL?id='音乐id
URL _ 1=' 339音乐。163 .com/weapi/song/enhanced/player/URL/v1?csrf_token='
result=ctx.call('开始',music_id)
日期==
params:result[' enctext '],
seckey:result[' seckey ']
}
#年#月#日发送请求
#年#月#日当前的音乐数据
music_url=requests.post(url_1、data=data、headers=headers).JSON()[' date '][0][' URL ']
音乐数据=请求。获取(音乐URL,标题).很高兴见到你
title=re.sub(r'[/\\:*?"|],_,标题)
导入js文件
# js文件导入
js=open('music163.js ',mode='r ',encoding='utf-8 ')。读取()
ctx=execjs.compile(js)
保存文件
以打开(' music/'标题。MP3 ',mode='wb ')为女:
f。写入(音乐_数据)
列印(标题)
完整代码
导入请求
导入关于
导入execjs
URL=' 339音乐。163 .' com/discover/top list '
#年#月#日伪装
标题=>
【饼干】:540 d3ec 18 d9 b4a 0 BDF 51 e 931中的" _ ntes _ nuid=063717 WM _ tid=sx ztjh/jbyzberfbzvdbunjprvyf;S7-1200可编程控制器:nmtid=00 osbnfchgv 2 TD 7k 5 ihszky 6r 8 lxgaaaf 0 zow moa;_ ntes _ nnid=063717,540d3ec18d9b4a0bdf51e931,160734992641;_ iuqxldmzr _=32 out fox _ search _ user _ id _ NCO=2144581542.327377:wevnsm=1。0 .0wnmcid=sa zafu。1624080681192 .01 .0;S7-1200可编程控制器:_ _ _ _ _ root _ domain _ v=。163 .com:_ qd=qd。1592303552240;vinfo _ n _ f _ l _ n3=11 aae 7905 aa 2179 b . 1。11 .1575470964063 .1625470009945 .1632894007779;用户轨迹=ezq 0 J2 flwnyypxax 88 ag=;jsssionid-wyyy=yvm 62 \ nd 8 xnkt 2 rycnojx 9 urqxsxcdmf 6 srnngretmb 5 mrrs 9或/ww 3 jbvf 960 uhw3bb/bhv 2 xzm 3 vn++ onzsx 38 sqkiumrd 6 tdkd 39 hrz mar \ p9 iuans \ 5 nyt 9 xlt jbt 5 qrgwsl 0 pz xdhs 26 uggazpfxxajam 0 o/v:16341116944;WM _ ni=au 9 xpuutn 3 gwymeozsagwl 6+H4 ctchgykos+wibr 3 hsntqhrpx/locaycokerzlb 1 lll uik 9 jlkxaauths 4 tfzr 9 jwb 3 lvjxkmh 4+mpukbepcnhan 80 j8/hoqeyms=;WM _ Nike=9ca 17 AE 2 e 6 ffcda 170 e 2 e 6 ee 8 de 74 b 85 b 18 EB 3 b27 BAE 8 e 8 ab 2d 44 e 969 f 9 aafae 3388 af 8 f 98d 06 da 59 b 968 ECF 2 af 0 FEA 7c 3 b92 aa 3 abf 37 FB 7 AC 82d 4 c 67 dbbb 38 b 90d 97983 b 9998 db 5218 ce ADB 5 e
用户代理:Mozilla/5.0(windows nt 10.0);win 64x 64)apple WebKit/537.36(KHTML,类似壁虎)chrome/94。0 .4606 .81 safari/537.36 '
}
response=requests.get(url,标头)。文字(吨)
zip _ data=re。findall(' lia href='/song \?id=(.*?)' rel=' external no follow ' rel=' external no follow '(*?)/a/李,响应)
js=open('music163.js ',mode='r ',encoding='utf-8 ')。读取()
ctx=execjs.compile(js)
对于音乐id,邮政编码数据中的标题:
URL _ 1=' 339音乐。163 .com/weapi/song/enhanced/player/URL/v1?csrf_token='
result=ctx.call('开始',music_id)
日期==
params:result[' enctext '],
seckey:result[' seckey ']
}
music_url=requests.post(url_1、data=data、headers=headers).JSON()[' date '][0][' URL ']
音乐数据=请求。获取(音乐URL,标题).很高兴见到你
title=re.sub(r'[/\\:*?"|],_,标题)
以打开(' music/'标题。MP3 ',mode='wb ')为女:
f。写入(音乐_数据)
列印(标题)
到此这篇关于python(python语言)爬虫实战之网易云音乐加密解析附源码的文章就介绍到这了,更多相关python(python语言)网易云音乐解析内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。