ワンクリックで
xhsou
使用Puppeteer自动化浏览器搜索小红书,获取真实内容并输出洞察报告
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
使用Puppeteer自动化浏览器搜索小红书,获取真实内容并输出洞察报告
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
| name | xhsou |
| version | 1.0.0 |
| description | 使用Puppeteer自动化浏览器搜索小红书,获取真实内容并输出洞察报告 |
| tags | ["crawler","xiaohongshu","xhs","trends","content-analysis","puppeteer"] |
| author | chenyt |
| created | "2026-04-22T00:00:00.000Z" |
| user-invocable | true |
使用Puppeteer自动化浏览器,绕过小红书的反爬机制,获取各行业/内容类型的真实数据。
# 搜索单个关键词
node crawler/xhs-puppeteer.js "K12教育"
# 搜索多个关键词(在JS中调用)
import { searchXhsKeywords } from './crawler/xhs-puppeteer.js';
const results = await searchXhsKeywords(['K12教育', '高途', '作业帮'], {
maxResults: 20,
headless: true,
dateFilter: '2026-04-21' // 可选:只获取指定日期的内容
});
为了提高搜索成功率,建议配置小红书Cookie:
.env 文件:XHS_COOKIE=你的Cookie字符串
import { searchXhsKeywords } from './crawler/xhs-simple.js';
// 搜索热门内容
const results = await searchXhsKeywords(
['始祖鸟', 'Arc\'teryx', '户外穿搭'],
{
maxResults: 50,
headless: true
}
);
import { searchXiaohongshuWithDate } from './crawler/xhs-simple.js';
// 搜索4月发布的内容
const results = await searchXiaohongshuWithDate('迪卡侬穿搭', {
maxResults: 50,
headless: true,
startDate: '2026-04-01',
endDate: '2026-04-30',
fetchPublishDate: true, // 访问详情页获取准确时间
fetchLimit: 30 // 最多访问30个详情页
});
基础搜索(快速,但无准确发布时间)
keyword (string): 搜索关键词options (object):
maxResults (number): 最多返回结果数,默认20headless (boolean): 是否无头模式,默认truestartDate (string): 开始日期,格式 'YYYY-MM-DD',可选endDate (string): 结束日期,格式 'YYYY-MM-DD',可选⚠️ 限制:此方法使用API数据,无法获取准确发布时间,所有结果的 publishDate 为 null。
带发布时间的搜索(访问详情页,较慢但准确)
keyword (string): 搜索关键词options (object):
maxResults (number): 最多返回结果数,默认20headless (boolean): 是否无头模式,默认truestartDate (string): 开始日期,格式 'YYYY-MM-DD',可选endDate (string): 结束日期,格式 'YYYY-MM-DD',可选fetchPublishDate (boolean): 是否访问详情页获取准确发布时间,默认truefetchLimit (number): 最多访问多少个详情页,默认20(避免过长时间)工作流程:
⚠️ 性能提示:每个详情页访问耗时约1.5-2秒,20条需要30-40秒
批量关键词搜索(使用基础搜索)
keywords (string[]): 关键词数组options: 同 searchXiaohongshu[
{
title: "文章标题",
link: "https://www.xiaohongshu.com/explore/xxxxx",
snippet: "文章摘要(前200字)",
author: "作者昵称",
likes: 1234, // 点赞数
comments: 56, // 评论数
collects: 89, // 收藏数
source: "小红书",
noteId: "69e40a4b000000002102c19a", // 笔记ID
date: "2026-04-21T10:30:00.000Z", // ISO格式日期字符串
publishDate: Date对象 或 null // 仅 searchXiaohongshuWithDate 返回准确日期
}
]
发布时间说明:
searchXiaohongshu(): publishDate 为 null,date 为当前时间searchXiaohongshuWithDate(): publishDate 为准确的Date对象(如果成功获取),date 为ISO字符串⚠️ 重要:此过滤规则仅适用于行业简报场景(如K12教育日报),不适用于趋势分析、内容研究等其他场景。
生成K12教育行业简报时,按以下规则判断内容新闻价值:
| 类型 | 示例 | 原因 |
|---|---|---|
| 企业战略动作 | 并购、融资、裁员 | 直接影响行业格局 |
| 产品发布 | AI老师、新功能 | 竞品动态 |
| 热点事件 | 员工猝死、裁员争议 | 行业关注度高 |
| 招聘信息 | 小米招K12PM | 反映战略方向 |
| 类型 | 示例 | 原因 |
|---|---|---|
| 科普文章 | 什么是K12 | 非实时新闻 |
| 个人经验 | 学习方法分享 | 无商业价值 |
| 分析报告 | 竞品分析 | 非一手动态 |
用于生成K12教育日报等行业动态简报。
特点:
调用示例:
import { analyzeNews } from './processor/ai-analyzer.js';
const analysis = await analyzeNews(searchResults, {
mode: 'industry-brief' // 行业简报模式
});
用于摄影趋势、消费趋势等内容研究。
特点:
调用示例:
import { analyzeNews } from './processor/ai-analyzer.js';
const analysis = await analyzeNews(searchResults, {
mode: 'trend-analysis' // 趋势分析模式
});
实际案例参考:
📊 始祖鸟小红书趋势分析 (2026年4月,77条内容,41条高质量)
核心洞察:用户购买决策已从"性能参数"迁移到"色彩-情绪共鸣"和社交可见性
五大趋势识别:
使用场景分布:城市通勤45%、轻度户外/公园30%、运动/健身15%、雨天10%
战略建议:将色彩与情感价值关联;开发单品多场景内容;启动UGC挑战;将争议转化为教育内容
🔗 完整报告
searchXiaohongshu() + sort=time 参数,获取最新内容但无法验证准确日期searchXiaohongshuWithDate(),访问详情页获取准确发布时间/api/sns/web/v1/search/notes)# 1. 安装依赖
npm install puppeteer
# 2. 配置Cookie(.env文件)
echo "XHS_COOKIE=your_cookie_here" >> .env
# 3. 运行搜索
node your-script.js
# 输出示例:
# ✅ 搜索小红书...
# 🔍 搜索小红书: 迪卡侬穿搭...
# 日期筛选: 2026-04-01 至 2026-04-23
# ✓ 找到 71 条结果
# ✓ 日期筛选后: 42 条结果(点赞≥100)
# ...
# ✅ 搜索完成!
生成报告后,可使用 generateContentManifest 工具整理所有被引用的内容链接和数据表现:
import { generateContentManifest } from './utils/content-manifest.js';
// 生成内容清单
const { manifest, markdown } = generateContentManifest(
searchResults, // 搜索结果
analysis, // AI分析结果(可选)
{
title: '迪卡侬穿搭趋势报告 - 内容来源',
outputPath: './reports/decathlon-sources.md'
}
);
// 输出内容:
// 1. JSON格式的数据清单
// 2. Markdown格式的可读清单
// 3. HTML格式的嵌入式组件
清单包含信息:
三种输出格式:
可以扩展为通用小红书爬虫:
// 搜索任意主题
const fashionResults = await searchXiaohongshu('春季穿搭', {
maxResults: 50,
headless: true
});
// 搜索特定日期范围(需要自己实现循环)
const dates = ['2026-04-20', '2026-04-21', '2026-04-22'];
for (const date of dates) {
const results = await searchXiaohongshu('美妆', { dateFilter: date });
console.log(`${date}: ${results.length}条`);
}
症状:返回空结果或401错误
解决:
症状:长时间无响应
解决:
症状:搜索有结果但日期筛选后为空
解决: