【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干货中!更多爬虫源码干货,请前往主页查看。

相关推荐
Flittly21 小时前
【LangGraph新手村系列】(2)自定义状态与归约器:让 LangGraph 记住更多东西
python·langchain·aigc
好运的阿财21 小时前
OpenClaw工具拆解之apply_patch+sandboxed_read
人工智能·python·ai编程·openclaw·openclaw工具
YaBingSec21 小时前
玄机网络安全靶场:Apache HTTPD 解析漏洞(CVE-2017-15715)WP
java·笔记·安全·web安全·php·apache
iAm_Ike21 小时前
怎么关闭MongoDB不需要的HTTP管理接口及REST API
jvm·数据库·python
hrhcode21 小时前
【LangChain】一.LangChain v1.0-快速上手(核心组件、工具、中间件)
python·ai·langchain·agent
SunnyDays10111 天前
Python Word 转 Excel 详解(含整个文档、特定页面或表格转换)
python·word 转 excel·docx 转 xlsx·word 表格导出 excel
m0_741173331 天前
CSS移动端实现卡片悬浮投影_利用box-shadow设置层次感
jvm·数据库·python
阿哟阿哟1 天前
立创3D模型快速下载
笔记·单片机·嵌入式硬件
shehuiyuelaiyuehao1 天前
关于md格式
笔记
西洼工作室1 天前
uniapp+vue3+python对接阿里云短信认证服务alibabacloud_dypnsapi20170525
python·阿里云·uni-app