小红书蒲公英平台不提供官方 PHP SDK,第三方无法直接调用 REST API;企业客户需签约后通过官方开放平台(如 open.gy.xiaohongshu.com)获取 client_id、client_secret 及 RSA 公钥,PHP 调用须按字典序拼参、SHA256 签名并携带 access_token;非企业用户应避免爬虫,合规方式仅为手动导出或浏览器自动化(Puppeteer)临时处理。

小红书蒲公英平台没有公开 PHP SDK
蒲公英平台(https://www.xiaohongshu.com/gy)不提供官方 PHP SDK,也不开放直接调用的 REST API 给第三方开发者。所有数据(如达人合作状态、笔记内容、报价、粉丝画像)都必须通过登录态 + 前端接口 + CSRF 保护机制交互——这意味着纯后端 curl 或 file_get_contents 无法稳定获取。
常见错误现象:401 Unauthorized、403 Forbidden、返回空 JSON 或跳转到登录页;本质是服务端校验了 X-Xsrf-Token、Cookie 中的 web_session 和用户行为指纹(如鼠标轨迹、Canvas 指纹),PHP 无法自然复现这些客户端上下文。
- 不要尝试用
curl模拟登录表单——登录接口本身是加密提交,密码字段由前端 JS 动态加密(非明文) - 不要依赖抓包拿到的某个
Authorizationtoken——它通常 15 分钟失效,且绑定设备/IP/UA - 真实使用场景只有一种:你在蒲公英后台「以运营身份」操作时,浏览器发出的请求才有效;自动化需走「企业授权 + 官方对接」路径
企业客户必须走蒲公英官方 API 接入流程
如果你是品牌方或 MCN 机构,且已和小红书签署商务合作协议,才能申请开通「蒲公英开放平台」权限。这个入口不在前台网站,而是由客户经理单独提供文档与测试环境地址(类似 https://open.gy.xiaohongshu.com),并分配 client_id、client_secret 和 RSA 公钥用于签名。
PHP 调用要点:
立即学习“PHP免费学习笔记(深入)”;
- 所有请求必须用
POST,Content-Type: application/json - 参数需按字典序拼接后用私钥签名,填入
sign字段——PHP 可用openssl_sign实现,但注意填充方式为OPENSSL_ALGO_SHA256 - 接口如
/v1/cooperation/list(查合作列表)、/v1/note/detail(查笔记详情)均需携带access_token,它由/auth/token接口换取,有效期 2 小时 - 错误信息典型值:
{"code":4001,"msg":"invalid sign"},大概率是签名原文没去空格、时间戳未用秒级、或用了 base64 编码后的私钥而非 PEM 原始内容
临时调试可用「浏览器自动化」折中方案
非企业资质但需要少量数据(比如导出自己账号下的合作记录),可借助 Puppeteer + PHP 进程控制实现「可控的真人操作」。核心不是让 PHP 直接发请求,而是启动 Chromium,登录蒲公英,再用 JS 执行 fetch 并把结果传回 PHP。
实操建议:
- 用
shell_exec('npx puppeteer eval ...')启动无头浏览器,避免长期维护 Node 服务 - 登录后务必等待
document.querySelector('.user-avatar')出现,再执行数据拉取,否则拿不到登录态 - 关键字段如
cooperation_id、note_id都藏在页面 HTML 的data-*属性或内联 JSON 中,别硬解析接口——因为接口本身会反爬 - 性能影响明显:单次拉取约 8–12 秒,且频繁触发会进入滑块验证;建议加
sleep(3)控制频率
容易被忽略的合规与稳定性风险
蒲公英页面结构每 2–3 周就微调一次:按钮 class 名变更、API 路径加版本前缀、新增必填字段。你今天写的 querySelector('.cooperation-card') 下周可能匹配不到任何节点;上周有效的 https://www.xiaohongshu.com/gy/api/cooperation/list 可能已跳转至 /gy/v2/cooperation/list。
更关键的是法律层面:《小红书平台规则》第 4.2 条明确禁止「未经许可的数据爬取行为」,即使是你自己的账号数据,批量导出也可能触发风控封禁 web_session——后果是人工登录也失败,需客服解封。
真正稳定的路只有一条:确认你的合同里是否包含「数据接口」服务项;如果没有,别在 PHP 里写 curl 循环,老老实实导出 CSV 手动处理。



















