一、核心功能概述
小红书未直接提供官方API用于获取关键词列表,但可通过以下方式间接实现:
商品搜索接口(item_search)
:通过关键词搜索商品,提取商品标题中的关键词。- 笔记搜索接口:通过关键词搜索笔记,分析笔记内容中的高频词汇。
- 第三方工具或爬虫:合法合规地获取关键词数据(需谨慎使用)。
二、官方API调用流程(以商品搜索为例)
1. 注册与授权
- 步骤: 注册小红书开放平台账号:访问小红书开放平台,完成实名认证。 创建应用:在开发者控制台创建应用,填写应用名称、描述等信息,选择“电商”或“数据分析”类目。 获取API密钥:应用审核通过后,获取App Key和App Secret。 申请接口权限:在应用管理页面申请smallredbook.item_search接口权限。
2. 请求构造
- 接口地址: https://api.xiaohongshu.com/api/v1/search/items
- 必填参数: 参数名类型必填说明qString是搜索关键词(如“女装”)pageInt否页码,默认1page_sizeInt否每页数量,默认10,最大50sortString否排序方式(如sales_qty销量降序)
- 示例请求: makefile 体验AI代码助手 代码解读复制代码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 体验AI代码助手 代码解读复制代码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与数据分析方法,合法合规地提取关键词。