ReaJason / xhs

基于小红书 Web 端进行的请求封装。https://reajason.github.io/xhs/
MIT License
946 stars 279 forks source link

签名函数不一定能 work #70

Closed ReaJason closed 5 months ago

ReaJason commented 9 months ago

很高兴大家能喜欢这个小仓库,但是由于种种原因,我没有办法给大家提供稳定的签名服务,目前实现的签名方式也不太稳定,但是可以根据以下方式来尝试让它 work(签名无法正常使用的请不要再私信了,抱歉不会再回复了)

尝试打开签名浏览器

目前签名方式使用浏览器签名,失败的一个原因可能就是浏览器打开的时候是一个异常状态,导致的签名失败,异常的原因未知。

# 如果一直失败可尝试设置成 False 让其打开浏览器,适当添加 sleep 可查看浏览器状态
browser = chromium.launch(headless=False)

不要开代理,小红书 IP 敏感,这是一种常见的反爬措施。

尝试使用 Docker 镜像

  1. 开启签名服务

    docker run -it -d -p 5005:5005 reajason/xhs-api:latest
  2. 签名接口调用

    def sign(uri, data=None, a1="", web_session=""):
    # 填写自己的 flask 签名服务端口地址
    res = requests.post("http://localhost:5005/sign",
                        json={"uri": uri, "data": data, "a1": a1, "web_session": web_session})
    signs = res.json()
    return {
        "x-s": signs["x-s"],
        "x-t": signs["x-t"]
    }