爬网易,返回空,求指点

#1.找到未加密的参数
#2.想办法把参数进行加密(必须参考网易的逻辑),params,encSecKey
#3.请求网易,拿到评论信息
from Crypto.Cipher import AES

from base64 import b64encode
import json
import requests
url = r'https://music.163.com/weapi/comment/resource/comments/get?csrf_token='

#请求方式是POST

data={

'csrf_token': "",
'cursor': "-1",
'offset': "0",
'orderType': "1",
'pageNo': "1",
'pageSize': "20",
'rid': "R_SO_4_1845460977",
'threadId': "R_SO_4_1845460977"
}
f="00e0b509f6259df8642dbc35662901477df22677ec152b5ff68ace615bb7b725152b3ab17a876aea8a5aa76d2e417629ec4ee341f56135fccf695280104e0312ecbda92557c93870114af6c9d05c4f7f0c3685b7a46bee255932575cce10b424d813cfe4875d3e82047b97ddef52741d546b8e289dc6935b3ece0462db0a22b8e7"
g="0CoJUm6Qyw8W8jud"
e="010001"
i= "9IPaKnzlF0Lo0Zjt"

def get_encSecKey():
    return "0d4fd9b2a53e0d68b1876cb54a799b4855553c8baa88f0d8f0c728a692a2d0ef6d25266345ccf8b1c0ba2040821b9dc574632a73fad61800ba3c9ec437c296296053fa2953591b6f7e947855dac859da2081fa7ac37e64d20f3dc41460cde24a1cab321af0a0fdfa7177400ca91fa500fd392f3f8639eceb65e871adf20997dc"

def to_16(data):
    pad = 16-len(data)%16
    data+=chr(pad)*pad
    return data

def get_params(data): #默认接收的是字符串
    fitst = enc_params(data,g)
    second  = enc_params(fitst,i)
    return second #返回params

def enc_params(data,key):#加密过程
    iv="0102030405060708"
    data=to_16(data)

    aes=AES.new(key=key.encode('utf-8'),IV=iv.encode('utf-8'),mode=AES.MODE_CBC)   #创建加密器
    bs = aes.encrypt(data.encode('utf-8'))#加密,加密的内容的长度必须为16的倍数
    return str(b64encode(bs),'utf-8') #转化成字符串返回

#处理加密过程

header={
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36',

'Referer':'https://music.163.com/song?id=1325905146'
}

resp = requests.post(url=url,data={
    'params':"jarUD7jjFkpw71xrgoQGaO2AUHvzHhknfwznpu3KO0splnaKwpt2GAcUfkFTJIJaYVvmVeJmC9Mc4faMR+feh2wlD+27AigdAN/PLWlzKnGT/XwWh5fRhHozVlNI1Ps4XPo2fA37qDgghfdg3PM8mRp/BN+QBxajxmuxMe/C0dECbiBg/E7/7x6s8MANW/P6cF9pvwnpY6dU+P09ou9sVbQQxU2tlPessPG6GPYR+0XmH+R34vZN4h9WmPNIfIINqZ95KEhklsrDaCwjSsbGrcayR8jahFDHf/JLsYGR/rU=",
    'enSecKey':get_encSecKey()
})


print(resp.text)

 

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^