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