某易云爬虫(JS逆向)下

本文介绍了如何利用Python的execjs库执行JavaScript代码获取加密参数,以爬取网易云音乐的评论数据。通过分析请求参数,特别是pageSize和pageNo,成功获取每页评论。这是一个入门级的爬虫实战,作者承诺会跟进网易云的反爬和加密更新。
摘要由CSDN通过智能技术生成

接着上一篇破解加密,接下来还有最后部分,没有看过上一篇文章的朋友可以先去看一下上一篇文章

本篇仅说明得到加密参数后的步骤

1.准备环境:pycharm,包:execjs, requests, csv
2. 具体步骤:
  1. 先介绍一下execjs这个包,这个包用来运行js代码,并获得运行结果,
    这样我们先在python里面拿到加密参数:
with open('comment.js', 'r') as f:
	jsgo=execjs.compile(f.read())
	data='{"rid":"R_AL_3_37873787","threadId":"R_AL_3_37873787","pageNo":"1","pageSize":"20","cursor":"-1","offset":"0","orderType":"1","csrf_token":""}'
	res=jsgo.call('run',data)
	return res

这里的 run 就是我们在js文件里面编写的run函数,data是我们传入run函数的参数。

  1. 接下来,我们拿到了加密参数就可以直接发起请求了:
s=requests.Session()
s.headers=headers
resp=s.post(url=url,data=key)

这里要注意一个地方就是,记得把headers自己copy过来
然后运行代码观察结果:
在这里插入图片描述
不多不少,正好20条,可是,评论不只是20条呀,一定是有某个参数影响了,这时候我们把目光聚集到data:

data='{"rid":"R_AL_3_37873787","threadId":"R_AL_3_37873787","pageNo":"1","pageSize":"20","cursor":"-1","offset":"0","orderType":"1","csrf_token":""}'

很容易看出,这里有个pagesize,和pageno,就是我们的页数和一页多少条,前面的两个 id 就是 对不同的音乐,我们做一下更改(这里也是我为什么单独把data放在放在python而不是放在js里,方便调节更改嘛),然后观察是否有变化:
在这里插入图片描述
完美结束

  1. 最后关于网易云的js逆向就结束了,这是我在进入爬虫的第一个实战,整体难度是较容易的,之后网易云反爬和加密更新了我也会对这两篇文章进行更改,有任何错误的地方请指出哦
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值