小红书实时数据API调用教程 – Java SDK接入指南 | 典枢数据

【立即体验】小红书实时数据API

想要小红书数据,但你还在手动复制粘贴?

“运营同事每天花2小时刷小红书,手动记录竞品笔记数据,月底汇总成Excel——结果发现记错了数据,又得重来一遍。”

如果你遇到过类似的情况,那你需要的是一个程序化的数据接口,而不是多招一个人。

小红书实时数据API支持从2019年至今的全量公开数据查询,分钟级更新。本文教你如何用Java SDK快速接入,从配置到跑通第一个请求。

Key Takeaways
– 典枢数据API通过Java SDK调用,不支持直接curl请求
– 每次调用2元,最多返回100条数据;一次拿到1000条需要分页调10次,共20元
– 支持2019年至今的小红书全量数据,分钟级更新
– SDK安装只需三步:下载包→解压到Maven仓库→pom引入依赖
– 返回字段完整:笔记标题、正文、互动数据、用户信息、多媒体等

接入前的准备

定价说明

在开始之前,先搞清楚这个API的计费方式,避免踩坑:

计费项 说明
每次调用 2元
每次最多返回 100条数据
需要1000条怎么办 分页调10次,总成本20元
不足100条 同样按1次计费(2元),建议优化关键词

⚠️ 常见误解:不是”单条0.02元”,而是”每次2元,最多拿100条”。如果你需要1000条,就是10次×2元=20元。单条最低0.02元是在”每次都能拿满100条”的理想情况下。

前置条件

条件 说明
Java开发环境 JDK 8+
Maven 3.x版本
appCode 在典枢数据基本信息页面获取
apiCode 在API详情页获取

第一步:安装SDK

1.1 下载SDK包

从典枢数据平台下载 dianshu-api-sdk 包。

1.2 安装到本地Maven仓库

将下载的 tech.zip 解压,把 tech 目录放入Maven本地仓库(通常在 ~/.m2/repository/ 下)。

1.3 引入依赖

在项目的 pom.xml 中添加:

<dependency>
    <groupId>tech.yeez</groupId>
    <artifactId>dianshu-api-sdk</artifactId>
    <version>1.0-SNAPSHOT</version>
</dependency>

第二步:编写调用代码

2.1 最简单的调用示例

import tech.yeez.dianshu.sdk.DSAPIClient;
import tech.yeez.dianshu.sdk.model.*;
import java.util.ArrayList;
import java.util.List;

public class Test {
    public static void main(String[] args) {
        // 初始化上下文,设置appCode(基本信息页面获取)
        DSAPIContext context = new DSAPIContext("你的appCode");

        // 设置apiCode(API详情页可查看)
        String apiCode = "Y5N3SsiHvt2XwtDeb75MqYFtDcTAvjGK3NF8d1YeDsF";
        DSAPIClient apiClient = new DSAPIClient(apiCode, context);

        PostRequestDTO dto = new PostRequestDTO();
        List<ParamInfoDTO> bodyParams = new ArrayList<>();
        bodyParams.add(new ParamInfoDTO("startTime", "1779381079"));
        bodyParams.add(new ParamInfoDTO("endTime", "1779427884"));
        bodyParams.add(new ParamInfoDTO("keyword", "护肤"));
        bodyParams.add(new ParamInfoDTO("page", "1"));
        dto.setBodyParams(bodyParams);

        String result = apiClient.doPost(dto);
        System.out.println("接口返回结果:" + result);
    }
}

2.2 参数说明

参数 类型 说明 建议
keyword String 搜索关键词,最多100字符 使用宽泛关键词
startTime String 开始时间,Unix秒级时间戳 单次最多7天范围
endTime String 结束时间,Unix秒级时间戳 建议按周分段
page String 页码,从1开始 每页最多100条

2.3 获取多条数据(分页示例)

如果需要获取超过100条的数据,可以循环分页调用:

public class BatchFetch {
    public static void main(String[] args) {
        DSAPIContext context = new DSAPIContext("你的appCode");
        String apiCode = "Y5N3SsiHvt2XwtDeb75MqYFtDcTAvjGK3NF8d1YeDsF";
        DSAPIClient apiClient = new DSAPIClient(apiCode, context);

        // 需要获取500条数据,分5页,每页100条
        // 成本:5次 × 2元 = 10元
        for (int page = 1; page <= 5; page++) {
            PostRequestDTO dto = new PostRequestDTO();
            List<ParamInfoDTO> bodyParams = new ArrayList<>();
            bodyParams.add(new ParamInfoDTO("keyword", "护肤"));
            bodyParams.add(new ParamInfoDTO("startTime", "1776643200"));
            bodyParams.add(new ParamInfoDTO("endTime", "1779244800"));
            bodyParams.add(new ParamInfoDTO("page", String.valueOf(page)));
            dto.setBodyParams(bodyParams);

            String result = apiClient.doPost(dto);
            System.out.println("第" + page + "页结果:" + result);
        }
        System.out.println("共获取500条数据,总成本10元");
    }
}

返回数据字段说明

📄 基本信息

字段 类型 说明
title String 笔记标题
content String 笔记正文
mid String 文章系统ID
url String 文章链接
uuid String 文章唯一ID
wtype Integer 文章类型(1原创/2转发)

📊 互动指标

字段 类型 说明
like_count Integer 点赞数
collection_count Integer 收藏数
reply_count Integer 评论数
share_count Integer 分享数
visit_count Integer 播放量/阅读数

👤 用户信息

字段 类型 说明
name String 用户名
nickname String 用户昵称
followers_count Integer 粉丝数
friends_count Integer 关注数
gender String 性别
verified Integer 是否认证
verified_type Integer 认证类型

📺 多媒体

字段 类型 说明
pic_urls Array 图片链接列表
video_urls Array 视频链接列表
face_img String 封面图URL
duration Integer 视频长度(秒)

常见异常处理

状态码 含义 处理方式
400 参数错误 检查请求参数
401 认证失败 确认appCode
403 权限不足 检查apiCode权限
429 请求过频(QPS:1) 实现指数退避重试
500 服务端异常 稍后重试或联系支持

调用成本测算

不同场景下的成本预算:

场景 数据量 调用次数 总成本
简单关键词搜索 1页(最多100条) 1次 2元
一周数据监控 5页(最多500条) 5次 10元
月度趋势分析 20页(最多2000条) 20次 40元
竞品全面调研 50页(最多5000条) 50次 100元

根据 Stack Overflow 的开发者调查,超过80%的开发者更倾向于通过SDK而非直接调用REST API来集成数据服务——这也是为什么典枢数据提供Java SDK而非简单的curl接口。

常见问题

Q1:SDK支持其他语言吗?

目前提供Java SDK。如果是其他技术栈,可以参考SDK源码自行实现调用逻辑。

Q2:每次调用拿不满100条怎么办?

如果关键词较严格,可能不足100条。建议:
– 使用更宽泛的关键词
– 扩大时间范围(但不超过7天)
– 关键词用英文逗号组合扩大覆盖

Q3:需要大量数据,成本太高怎么办?

根据 Gartner 的建议,可以:
– 只采集与分析目标直接相关的关键词
– 使用抽样策略(如每周采集1-2次而非每天)
– 优先采集互动数据高的内容

Q4:数据多久更新一次?

分钟级更新。最新发布的小红书笔记可以很快通过SDK查询到。

总结

接入小红书实时数据API只需要三步:下载SDK → 配置Maven → 写几行Java代码。每次2元,最多拿100条数据,1000条也只需20元。

下一步行动:
1. 在典枢数据获取你的appCode和apiCode
2. 下载并安装SDK
3. 运行第一个示例代码

【立即体验】小红书实时数据API

参考资料:
Stack Overflow Developer Survey 2024
Gartner – Data Integration Best Practices
Maven官方文档 – 依赖管理

发表评论

滚动至顶部