js纯算。私信交流学习
import requests
from urllib.parse import urlparse
from py_mini_racer import MiniRacer
from feapder.utils import tools
js_x_b3_traceid = open("./js/x-b3-traceid.js", encoding="utf-8").read()
js_obj_x_b3_traceid = MiniRacer()
js_obj_x_b3_traceid.eval(js_x_b3_traceid)
js_x_s = open("./js/x-s算法.js", encoding="utf-8").read()
js_obj_x_s = MiniRacer()
js_obj_x_s.eval(js_x_s)
headers = {
"authority": "edith.xiaohongshu.com",
"accept": "application/json, text/plain, */*",
"accept-language": "zh-CN,zh;q=0.9",
"cache-control": "no-cache",
"origin": "https://www.xiaohongshu.com",
"pragma": "no-cache",
"referer": "https://www.xiaohongshu.com/",
"sec-ch-ua": "\"Chromium\";v=\"112\", \"Google Chrome\";v=\"112\", \"Not:A-Brand\";v=\"99\"",
"sec-ch-ua-mobile": "?0",
"sec-ch-ua-platform": "\"Windows\"",
"sec-fetch-dest": "empty",
"sec-fetch-mode": "cors",
"sec-fetch-site": "same-site",
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36"
}
cookies = {
......
}
url = "https://edith.xiaohongshu.com/api/sns/web/v2/comment/page"
params = {
"note_id": "6481bbb80000000027001366",
"cursor": "",
"top_comment_id": ""
}
url = tools.joint_url(url, params)
parsed_url = urlparse(url)
path_and_query = parsed_url.path + '?' + parsed_url.query
# 获取x-b3-traceid
headers["x-b3-traceid"] = js_obj_x_b3_traceid.call("run")
# 获取x-s x-t
result = js_obj_x_s.call("run", path_and_query, cookies.get("a1"))
headers.update(result)
print(result)
print(f"x-s长度: {len(result['x-s'])}")
# 发起请求
# response = requests.get(url, headers=headers, cookies=cookies)
# print(response.json()["data"]["comments"])
执行结果