【2026年新版】Python根据小红书关键词爬取所有笔记数据

我是@iFeng的小屋。

一、爬取目标

之前我分享过不少平台的爬虫,像B站、懂车帝、携程网这些,爬评论、爬数据都没问题。

很多人想研究爆款笔记、做竞品分析,或者收集素材,手动一篇篇看效率太低。所以,我写了这个小红书笔记搜索爬虫

这个脚本它能根据你给的关键词 ,批量搜索并下载相关笔记,正文、互动数据、发布时间。

二:数据结果图展示

字段:关键词,链接,链接ID,昵称,帖子发布时间,笔记链接,笔记内容,点赞数,收藏数,评论数,分享数,图片链接.

所有数据自动保存为Excel文件,干净整齐,拿去即可食用!但注意一个关键词只能爬取220条评论哦(网页版)。

原理讲解:

  1. 核心是调用小红书的搜索接口,它是一个 POST 请求。

  2. 你需要准备一个有效的 cookie(从网页版小红书获取),这是能拿到数据的关键。

  3. 通过接口拿到笔记ID列表后,再逐个去访问笔记的详情页。

三:爬虫代码讲解

导入库:

python 复制代码
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自动切换)。

python运行

3.2 关键步骤:搜索并翻页

这是向小红书搜索接口发送请求的核心,可以按"最新"、"综合"等方式排序。

python 复制代码
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变量。

python 复制代码
# 1. 从JS代码段中提取数据
content_raw = response_detail.text.split('window.__INITIAL_STATE__=')[1].split('</script>')[0]
parsed_data = json.loads(content_raw) # 解析成字典

# 2. 像挖宝一样,从字典里取出各种数据
note_data = parsed_data['note']['noteDetailMap'][note_id]
title = note_data['note']['title']  # 标题
liked_count = note_data['note']['interactInfo']['likedCount']  # 点赞数

# 3. 提取所有高清图片链接
image_urls = []
for image in note_data['note']['imageList']:
    img_url = image['infoList'][0]['url']
    image_urls.append(img_url)

四、如何运行?

  1. 按上面说的 ,准备好 搜索词.xlsxcookie.xlsx 文件。

  2. 安装依赖pip install requests pandas lxml openpyxl

  3. 运行主函数 main(),程序会问你每个关键词想爬多少条,然后坐等Excel文件生成即可。

  4. 程序会自动帮你:读取关键词 -> 调用搜索接口 -> 翻页 -> 解析每篇笔记详情 -> 保存到表格。

五、说明

需要本文提到的完整可运行Python源码的小伙伴,我都放在了与此号同名的公主号里,大家自行获取。

持续分享Python干货中!更多爬虫源码干货,请前往主页查看。

相关推荐
Csvn1 天前
🌟 LangChain 30 天保姆级教程 · Day 13|OutputParser 进阶!让 AI 输出自动转为结构化对象,并支持自动重试!
python·langchain
一轮弯弯的明月1 天前
贝尔数求集合划分方案总数
java·笔记·蓝桥杯·学习心得
cch89181 天前
Python主流框架全解析
开发语言·python
sg_knight1 天前
设计模式实战:状态模式(State)
python·ui·设计模式·状态模式·state
好运的阿财1 天前
process 工具与子agent管理机制详解
网络·人工智能·python·程序人生·ai编程
张張4081 天前
(域格)环境搭建和编译
c语言·开发语言·python·ai
weixin_423533991 天前
【Windows11离线安装anaconda、python、vscode】
开发语言·vscode·python
航Hang*1 天前
第3章:Linux系统安全管理——第2节:部署代理服务
linux·运维·服务器·开发语言·笔记·系统安全
zjnlswd1 天前
tkinter学习案例--笔记代码
笔记·学习
Ricky111zzz1 天前
leetcode学python记录1
python·算法·leetcode·职场和发展