一、核心功能概述
小红书未直接提供官方API用于获取关键词列表,但可通过以下方式间接实现:
- 商品搜索接口(
item_search
):通过关键词搜索商品,提取商品标题中的关键词。 - 笔记搜索接口:通过关键词搜索笔记,分析笔记内容中的高频词汇。
- 第三方工具或爬虫:合法合规地获取关键词数据(需谨慎使用)。
二、官方API调用流程(以商品搜索为例)
1. 注册与授权
- 步骤 :
- 注册小红书开放平台账号:访问小红书开放平台,完成实名认证。
- 创建应用:在开发者控制台创建应用,填写应用名称、描述等信息,选择"电商"或"数据分析"类目。
- 获取API密钥 :应用审核通过后,获取
App Key
和App Secret
。 - 申请接口权限 :在应用管理页面申请
smallredbook.item_search
接口权限。
2. 请求构造
-
接口地址 :
https://api.xiaohongshu.com/api/v1/search/items
-
必填参数:
参数名 类型 必填 说明 q
String 是 搜索关键词(如"女装") page
Int 否 页码,默认1 page_size
Int 否 每页数量,默认10,最大50 sort
String 否 排序方式(如 sales_qty
销量降序) -
示例请求:
python
|-----------------------------------------------------------------------------------------------|
|import requests
|
| |
|app_key = "YOUR_APP_KEY"
|
|app_secret = "YOUR_APP_SECRET"
|
|url = "https://api.xiaohongshu.com/api/v1/search/items"
|
|params = {
|
|"q": "女装",
|
|"page": 1,
|
|"page_size": 10,
|
|"sort": "sales_qty"
|
|}
|
| |
|# 生成签名(示例,实际需按官方规则)
|
|# 签名方法通常为HMAC-SHA256,需结合时间戳和非重复随机数
|
|response = requests.get(url, params=params, headers={"Authorization": f"Bearer {app_key}"})
|
|print(response.json())
|
3. 响应解析
-
返回JSON结构:
json
|-------------------------------------------------|
|{
|
|"data": {
|
|"items": [
|
|{
|
|"item_id": "5f50ad1981d4c125e500a2d1",
|
|"title": "中国·创意设计感连衣裙",
|
|"price": 205.2,
|
|"sales": 14830,
|
|"pic_url": "https://qimg.xiaohongshu.com/..."
|
|}
|
|]
|
|}
|
|}
| -
关键词提取:
- 从商品标题(
title
字段)中提取关键词,例如"连衣裙"、"设计感"等。 - 结合多个商品标题,统计高频词汇作为关键词列表。
- 从商品标题(
三、注意事项
- 频率限制 :
- 普通开发者QPS≤10,企业认证可提升至100。
- 每日调用上限50000次,建议购买"独立资源池"权限。
- 数据更新 :
- 商品信息每5分钟更新一次,高频调用建议加缓存(如Redis,过期时间30分钟)。
- 错误处理 :
- 常见错误码:
10001
:参数错误。20002
:商品不存在。30001
:权限不足。
- 需根据小红书开放平台-文档中心排查。
- 常见错误码:
- 合规性 :
- 禁止存储用户敏感信息(如买家评论中的手机号)。
- 图片需通过CDN代理引用,避免直接使用小红书源链接。
四、替代方案:笔记搜索接口
- 接口地址 :
https://api.xiaohongshu.com/api/v1/search/notes
- 参数 :
q
:搜索关键词。page
、page_size
:分页参数。
- 响应 :
- 包含笔记标题、内容、标签等,可提取标签(
tags
字段)作为关键词。
- 包含笔记标题、内容、标签等,可提取标签(
五、第三方工具与爬虫
- 第三方SDK :
- 小红书提供Java SDK,其他语言需自行封装请求。
- 爬虫方法 :
- 合法合规地模拟浏览器请求,抓取搜索结果页面,提取关键词。
- 需遵守小红书《机器人协议》(
robots.txt
),避免高频访问。
六、示例代码(Python)
python
|---------------------------------------------------------------------------------|
| import requests
|
| from collections import Counter
|
| |
| def get_keywords(keyword, page=1, page_size=10):
|
| url = "https://api.xiaohongshu.com/api/v1/search/items"
|
| params = {
|
| "q": keyword,
|
| "page": page,
|
| "page_size": page_size,
|
| "sort": "sales_qty"
|
| }
|
| headers = {"Authorization": "Bearer YOUR_APP_KEY"}
|
| response = requests.get(url, headers=headers, params=params)
|
| data = response.json()
|
| |
| # 提取商品标题中的关键词
|
| titles = [item["title"] for item in data.get("data", {}).get("items", [])]
|
| words = [word for title in titles for word in title.split() if len(word) > 1]
|
| return Counter(words).most_common(10)
|
| |
| # 使用示例
|
| keywords = get_keywords("女装")
|
| print("高频关键词:", keywords)
|
七、总结
小红书未直接提供关键词列表API,但可通过商品或笔记搜索接口间接获取。需注册开发者账号,申请接口权限,并遵守调用频率限制。建议结合官方API与数据分析方法,合法合规地提取关键词。