返回博客

小红书 API 接入教程(PHP):用 cURL 跑通第一个请求

Rnote API 团队 · · 52 次阅读 · English
小红书数据 API教程 PHP

这篇教程带你用 PHP 接入小红书(RedNote / Xiaohongshu)数据接口。无需自建爬虫——Rnote API 已经把采集基础设施备好,你用 cURL 发一个带 X-API-Key 头的 GET 请求即可。也可参考 PythonNode.jsGo 版本。

第一步:注册获取 API Key

前往注册页创建账户并验证邮箱,获取免费额度与 API Key。

第二步:发起第一个请求

<?php
$base = "https://rnote.dev/api/v2/crawler";
$query = http_build_query(["keyword" => "美食推荐", "page" => 1]);

$ch = curl_init("$base/search/notes?$query");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => ["X-API-Key: YOUR_API_KEY"],
]);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

if ($status === 200) {
    $data = json_decode($response, true);
    print_r($data);
}

第三步:封装一个带重试的函数

<?php
function call(string $path, array $params, int $retries = 3) {
    $url = "https://rnote.dev/api/v2/crawler/$path?" . http_build_query($params);
    for ($i = 0; $i < $retries; $i++) {
        $ch = curl_init($url);
        curl_setopt_array($ch, [
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_HTTPHEADER => ["X-API-Key: YOUR_API_KEY"],
            CURLOPT_TIMEOUT => 30,
        ]);
        $resp = curl_exec($ch);
        $status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
        curl_close($ch);
        if ($status === 200) {
            return json_decode($resp, true);
        }
        sleep(2 ** $i); // 指数退避
    }
    throw new Exception("请求多次失败");
}

// 例:取图文笔记详情
print_r(call("note/image", ["note_id" => "697c0eee000000000a03c308"]));

仅成功请求(HTTP 2xx)扣费,失败重试不额外计费,所以可以放心加重试逻辑。

计费与额度

按请求计费、无月费、无最低消费;注册即送免费额度。充值方式与当前优惠见定价页

下一步

免费注册,现在就用 PHP 发出第一个请求。