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

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

我是@iFeng的小屋。

一、爬取目标

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

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

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

二:数据结果图展示

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

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

原理讲解:

  1. 核心是调用小红书的搜索接口,它是一个 POST 请求。
  2. 你需要准备一个有效的 cookie(从网页版小红书获取),这是能拿到数据的关键。
  3. 通过接口拿到笔记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自动切换)。

python运行

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变量。

# 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. 按上面说的,准备好 搜索词.xlsx 和 cookie.xlsx 文件。
  2. 安装依赖pip install requests pandas lxml openpyxl
  3. 运行主函数 main(),程序会问你每个关键词想爬多少条,然后坐等Excel文件生成即可。
  4. 程序会自动帮你:读取关键词 -> 调用搜索接口 -> 翻页 -> 解析每篇笔记详情 -> 保存到表格。

五、说明

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

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

Read more

【MySQL#5】 事务的概念及ACID属性和使用

【MySQL#5】 事务的概念及ACID属性和使用

📃个人主页:island1314 ⛺️ 欢迎关注:👍点赞 👂🏽留言 😍收藏 💞 💞 💞 * 生活总是不会一帆风顺,前进的道路也不会永远一马平川,如何面对挫折影响人生走向 – 《人民日报》 🔥 目录 * 一、什么是事务 * 二、事务的属性及使用 * 2.1 事务的 ACID 属性 * 2.2 为什么存在事务 * 2.3 事务的版本支持 * 2.4 事务的提交方式 * 2.5 事务的常见操作方式 一、什么是事务 * 定义:由一条或者多条 sql 语句构成的 sql 集合体,这个集合体合在一起共同要完成某种任务。MySQL通过多线程实现存储工作,因此在并发访问场景中,事务确保了数据操作的一致性和可靠性。 事务还规定 不同的客户端看到的数据是不相同的 * 事务就是要做的或所做的事情,主要用于 处理操作量大,复杂度高的数据

By Ne0inhk
Nginx 按照流量比例反向代理配置详解

Nginx 按照流量比例反向代理配置详解

在灰度发布、A/B 测试等场景中,我们常需要将流量按一定比例分发到不同后端服务。Nginx 提供了 split_clients 模块,配合 map 和 proxy_pass,可以轻松实现基于客户端特征的流量比例分配。本文将从 Nginx 安装、Systemd 管理、完整配置到临时调试方案,提供一份可直接复制使用的完整教程。 一、Nginx 安装(Ubuntu 22.04) 说明:以下操作以 root 用户执行。 # 1. 卸载系统自带 nginxapt remove nginx apt purge nginx nginx-common -y # 2. 更新系统并安装编译依赖sudoapt update sudoaptinstall -y libpcre3 libpcre3-dev

By Ne0inhk
Oracle索引

Oracle索引

一、索引介绍 1.为什么使用索引 索引是存储引擎用于快速找到数据记录的一种数据结构,就好比一本教课书的目录部分,通过目录中找到对应文章的页码,便可快速定位到需要的文章。Oracle中也是一样的道理,进行数据查找时,首先查看查询条件是否命中某条索引,符合则通过索引查找相关数据,如果不符合则需要全表扫描,即需要一条一条地查找记录,直到找到与条件符合的记录。 如上图所示,数据库在没有索引的情况下,数据分布在硬盘的不同位置上面,读取数据时,摆臂需要前后摆动查找,这样操作非常耗时。如果数据顺序摆放,那么也需要从1到6行按顺序读取,这样就相当于进行了六次IO操作,依旧非常耗时。如果我们不借助任何索引结构帮助我们快速定位数据的话,我们查找Col2=89这条数据,就要逐行去查找、去比较。从Col2=34开始,进行比较,发现不是,继续下一行。我们当前的表只有不到10行数据,但如果表很大的话,有上千万条数据,就意味着要做很多很多次磁盘I/0才能找到。现在要查找Col2=89这条记录。CPU必须先去磁盘查找这条记录,找到之后加载到内存,再对数据进行处理。这个过程最耗时间的就是磁盘I/O(涉及到磁盘的旋

By Ne0inhk
YOLO26:面向实时目标检测的关键架构增强与性能基准测试

YOLO26:面向实时目标检测的关键架构增强与性能基准测试

YOLO26核心总结 1. 架构简化:移除分布焦点损失(DFL),简化边界框回归,提升导出兼容性。 2. 端到端推理:采用无NMS设计,直接输出检测结果,降低延迟与部署复杂度。 3. 训练增强:引入渐进损失平衡(ProgLoss)与小目标感知标签分配(STAL),提升小目标检测稳定性。 4. 优化器创新:使用MuSGD优化器,结合SGD与Muon优势,加速模型收敛。 5. 多任务支持:统一框架支持检测、实例分割、姿态估计、定向检测与分类。 6. 边缘优化:支持FP16/INT8量化,在Jetson等设备上实现低延迟实时推理。 7. 性能表现:在COCO等基准上达到高精度,CPU推理速度较前代提升最高43%。 应用场景:适用于无人机、机器人、智能制造等资源受限的边缘设备实时视觉任务。  博主简介 AI小怪兽 | 计算机视觉布道者 | 视觉检测领域创新者 深耕计算机视觉与深度学习领域,专注于视觉检测前沿技术的探索与突破。长期致力于YOLO系列算法的结构性创新、

By Ne0inhk