一、接口調(diào)用前提
- 注冊與認(rèn)證 需注冊小紅書開放平臺(tái)/萬邦開放平臺(tái)賬號(hào),創(chuàng)建應(yīng)用并獲取access_token(授權(quán)令牌)。 部分操作需通過企業(yè)認(rèn)證并申請高級(jí)權(quán)限。
- 接口限制 調(diào)用頻率受限(如每分鐘100次),超限需申請?zhí)犷~。 返回?cái)?shù)據(jù)可能受用戶隱私設(shè)置影響(如作者關(guān)閉公開權(quán)限則無法獲?。?/li>
二、接口調(diào)用方式
請求地址
bash
GET https://api.xiaohongshu.com/v1/notes/{note_id}
請求頭
json
{
"Authorization": "Bearer {access_token}",
"Content-Type": "application/json"
}
必填參數(shù)
參數(shù)名 | 類型 | 說明 |
---|---|---|
note_id | String | 筆記唯一ID(如649c46ab000000002702ad36 ) |
access_token | String | 開放平臺(tái)獲取的授權(quán)令牌 |
可選參數(shù)
參數(shù)名 | 類型 | 說明 |
---|---|---|
fields | String | 指定返回字段(如title,content,images ) |
timestamp | Int | 請求時(shí)間戳(防重放攻擊) |
sign | String | 加密簽名(需按官方算法生成) |
三、返回?cái)?shù)據(jù)結(jié)構(gòu)(JSON)
json
{
"code": 200,
"message": "success",
"data": {
"note_id": "649c46ab000000002702ad36",
"title": "春季美妝新品推薦",
"content": "<p>今天分享幾款超火的美妝新品...</p>",
"images": [
"https://example.com/image1.jpg",
"https://example.com/image2.jpg"
],
"videos": [
{
"type": "video",
"url": "https://example.com/video.mp4",
"cover": "https://example.com/cover.jpg"
}
],
"tags": ["美妝", "新品"],
"like_count": 1024,
"comment_count": 256,
"favorite_count": 512,
"share_count": 128,
"author": {
"user_id": "987654321",
"nickname": "美妝達(dá)人",
"avatar": "https://example.com/avatar.jpg",
"follower_count": 100000
},
"publish_time": "2025-04-25T14:30:00Z",
"location": {
"name": "上海",
"latitude": 31.2304,
"longitude": 121.4737
}
}
}
四、錯(cuò)誤處理
常見錯(cuò)誤碼
錯(cuò)誤碼 | 說明 | 解決方案 |
---|---|---|
401 | 無效的access_token | 檢查令牌是否過期或權(quán)限不足 |
404 | 筆記不存在或已刪除 | 確認(rèn)note_id 正確性 |
429 | 調(diào)用頻率超限 | 優(yōu)化代碼減少請求,或申請?zhí)犷~ |
500 | 服務(wù)器內(nèi)部錯(cuò)誤 | 稍后重試并聯(lián)系技術(shù)支持 |
排查步驟
- 檢查
access_token
有效性及權(quán)限范圍。 - 確認(rèn)
note_id
格式正確(通常為24位字母數(shù)字組合)。 - 使用Postman等工具測試接口連通性。
- 查看返回的
message
字段獲取具體錯(cuò)誤原因。
五、調(diào)用示例(Python)
python
import requests
def get_note_details(note_id, access_token):
url = f"https://api.xiaohongshu.com/v1/notes/{note_id}"
headers = {
"Authorization": f"Bearer {access_token}",
"Content-Type": "application/json"
}
try:
response = requests.get(url, headers=headers)
response.raise_for_status()
data = response.json()
if data.get("code") == 200:
return data["data"]
else:
print(f"API錯(cuò)誤: {data.get('message')}")
except requests.exceptions.RequestException as e:
print(f"請求失敗: {e}")
# 使用示例
note_id = "649c46ab000000002702ad36"
access_token = "YOUR_ACCESS_TOKEN"
details = get_note_details(note_id, access_token)
if details:
print(f"標(biāo)題: {details['title']}")
print(f"點(diǎn)贊數(shù): {details['like_count']}")
print(f"作者: {details['author']['nickname']}")
六、注意事項(xiàng)
- 合規(guī)性 禁止爬取用戶隱私數(shù)據(jù)(如手機(jī)號(hào)、地址)。 需遵守《小紅書開放平臺(tái)協(xié)議》,禁止商業(yè)化濫用數(shù)據(jù)。
- 數(shù)據(jù)解析 content字段可能包含HTML標(biāo)簽,需用BeautifulSoup等庫解析。 圖片URL需處理防盜鏈(部分鏈接需添加Referer頭)。
- 擴(kuò)展功能 結(jié)合搜索API可實(shí)現(xiàn)批量獲取筆記(需分頁參數(shù)page和size)。 通過tags字段可構(gòu)建內(nèi)容分類標(biāo)簽體系。
如需更高級(jí)功能(如評論抓?。杪?lián)系小紅書商務(wù)團(tuán)隊(duì)申請?zhí)厥鈾?quán)限。