某易云爬虫(JS逆向)下

某易云爬虫(JS逆向)下,第1张

某易云爬虫(JS逆向)下 接着上一篇破解加密,接下来还有最后部分,没有看过上一篇文章的朋友可以先去看一下上一篇文章 本篇仅说明得到加密参数后的步骤 1.准备环境:pycharm,包:execjs, requests, csv 2. 具体步骤:
    先介绍一下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函数的参数。

    接下来,我们拿到了加密参数就可以直接发起请求了:
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里,方便调节更改嘛),然后观察是否有变化:

完美结束

    最后关于网易云的js逆向就结束了,这是我在进入爬虫的第一个实战,整体难度是较容易的,之后网易云反爬和加密更新了我也会对这两篇文章进行更改,有任何错误的地方请指出哦

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5721196.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-18
下一篇 2022-12-18

发表评论

登录后才能评论

评论列表(0条)

保存