一、爬取目标
手动查看笔记效率较低,适合研究爆款笔记、做竞品分析或收集素材。本脚本支持根据关键词批量搜索并下载相关笔记,包含正文、互动数据及发布时间。
二、数据结果展示
字段包括:关键词、链接、链接 ID、昵称、帖子发布时间、笔记内容、点赞数、收藏数、评论数、分享数、图片链接。
所有数据自动保存为 Excel 文件。注意一个关键词通常只能爬取有限数量的评论(网页版限制)。
原理讲解
- 核心是调用小红书的搜索接口,它是一个 POST 请求。
- 需要获取有效的 Cookie(从网页版小红书开发者工具中抓取),这是拿到数据的关键。
- 通过接口拿到笔记 ID 列表后,再逐个访问笔记的详情页进行解析。
三、爬虫代码讲解
导入库:
import requests
import pandas as pd
import json
import time
from datetime import datetime
from lxml import etree
3.1 核心思路与配置
运行此脚本需要关键参数:Cookie。建议登录小红书网页版,在开发者工具里抓取。
为了方便管理多个关键词和 Cookie,设计使用 Excel 文件来配置:
搜索词.xlsx:一行一个,放置想搜的关键词。cookie.xlsx:一行一个,放置你的 Cookie(程序支持多个 Cookie 自动切换)。
3.2 关键步骤:搜索并翻页
向小红书搜索接口发送请求的核心代码,支持按'最新'、'综合'等方式排序。
json_data = {
'keyword': '春日穿搭', # 你的关键词
'page': 1, # 第几页
'page_size': 20, # 每页 20 条
'sort': 'time_descending' # 按最新排序
}
response = requests.post(
'https://edith.xiaohongshu.com/api/sns/web/v1/search/notes',
json=json_data,
headers=headers
)
notes_list = response.json()['data']['items'] # 拿到笔记列表
3.3 关键步骤:提取详情与图片链接
拿到笔记 ID 后,访问详情页,并解析包含所有数据的 JS 变量。


