自动从小红书获取旅游攻略,并整合飞猪机票信息,生成完整的行程规划!
⚡ 性能优化: 真正并行查询 + 数据缓存 + 精简提取,耗时从 9 分钟降至 3-4 分钟!
依赖原因: 获取目的地天气预报
使用场景:
调用方式:
curl -s "wttr.in/{城市名}?format=j1"
依赖原因: 查询飞猪机票价格
用户输入:"4.3 杭州到大理 4 天 3 晚攻略"
↓
t=0s 真正并行发起 3 个查询
├─ browser.open("小红书", 60 秒超时)
├─ exec("curl wttr.in/大理", 10 秒超时)
└─ browser.open("飞猪", 60 秒超时)
↓
t=10s 天气查询完成 ✅
↓
t=60s 页面打开完成,并行 snapshot(30 秒)
↓
t=90s 数据抓取完成
↓
t=120s 精简数据提取(只取 5 个核心字段,30 秒)
↓
t=180s 生成行程文档(60 秒)
↓
✅ 完成!总计约 3 分钟
| 优化点 | 优化前 | 优化后 | 节省 |
|---|---|---|---|
| -------- | -------- | -------- | ------ |
| 查询方式 | 串行执行 | 真正并行 | 2-3 分钟 |
| Snapshot | 完整 DOM(3000+ 元素) | 精准提取关键元素 | 1 分钟 |
| 天气查询 | 每次 API | 优先缓存 | 10-30 秒 |
| 数据提取 | 20+ 字段 | 5 个核心字段 | 20-30 秒 |
| 总计 | ~9 分钟 | ~3-4 分钟 | 60%+ |
// ✅ 正确做法:真正并行发起
const [xiaohongshuTab, weatherData, fliggyTab] = await Promise.all([
browser.open({
url: "https://www.xiaohongshu.com/search_result?keyword={目的地} 旅游攻略",
timeoutMs: 60000
}),
exec({
command: 'curl -s "wttr.in/{城市名}?format=j1"',
timeout: 10
}),
browser.open({
url: "https://sjipiao.fliggy.com/flight_search_result.htm?tripType=1&depCity={出发地}&arrCity={目的地}&depDate={日期}",
timeoutMs: 60000
})
])
// 并行抓取数据
const [xiaohongshuData, fliggyData] = await Promise.all([
browser.snapshot({ targetId: xiaohongshuTab.targetId, refs: "aria", timeoutMs: 30000 }),
browser.snapshot({ targetId: fliggyTab.targetId, refs: "aria", timeoutMs: 30000 })
])
可缓存的数据:
const CACHE = {
// 气候数据(季节性,基本固定)
weather: {
"大理_春季": { temp: "8-22℃", weather: "晴到多云", tips: "紫外线强,带防晒" },
"北京_春季": { temp: "10-20℃", weather: "多云", tips: "防风沙" },
"三亚_春季": { temp: "22-30℃", weather: "晴朗", tips: "带泳衣" },
},
// 高铁价格(相对固定)
trains: {
"杭州 - 北京": { time: "4.5-6 小时", price: "¥550-650" },
"杭州 - 大理": { time: "无直达,昆明中转", price: "¥550-650" },
}
}
优化后 Prompt(30 秒完成):
只提取 5 个核心信息:
1. 行程天数(如"4 天 3 晚")
2. 必去景点 Top3(数组)
3. 住宿推荐区域
4. 人均预算范围(不含机票)
5. 最佳季节
# 简单查询
帮我规划一下去大理的旅行,看下小红书的攻略和机票价格
# 指定日期
查一下 3 月 20 日去三亚的攻略,顺便看看机票多少钱
# 往返行程
计划 4 月 1 日 -4 月 5 日去日本旅游,帮我找攻略和机票
使用大模型提取核心数据(5 个字段)
输出完整行程规划
## ✅ 行程规划完成
### 🚄 交通推荐
| 方式 | 时间 | 价格 | 推荐 |
|------|------|------|------|
| [方式 1](链接) | X 小时 | ¥XXX | ⭐推荐 |
| [方式 2](链接) | X 小时 | ¥XXX | 备选 |
### 🗓️ 行程亮点
- **Day 1:** ...
- **Day 2:** ...
- ...
### 🌤️ 天气预报
| 日期 | 天气 | 温度 |
|------|------|------|
| X 月 X 日 | 晴/多云 | XX-XX℃ |
### 💰 总预算
| 类别 | 费用 | 说明 |
|------|------|------|
| 交通 | ¥XXX | 高铁/机票往返 |
| 酒店 | ¥XXX | X 晚住宿 |
| 门票 | ¥XXX | 景点门票 |
| 餐饮 | ¥XXX | X 天餐费 |
| 其他 | ¥XXX | 应急备用 |
| **总计** | **¥XXX** | 经济型 |
### 📖 小红书攻略来源
[查看小红书原文](链接)(XX 赞)
/explore/{noteId} 格式的真实笔记链接,不要返回 /search_result/{id} 链接(会显示"安全限制")Q1: 执行时间超过 5 分钟
Q2: 数据提取不准确
Q3: 小红书链接打不开(显示"安全限制")
/search_result/{id} 链接/explore/{noteId} 格式)https://www.xiaohongshu.com/explore/69b01f9500000000150236a9https://www.xiaohongshu.com/search_result/69b01f9500000000150236a9 ❌版本: v2.0(性能优化版)
最后更新: 2026-03-16
维护者: Luna 🌙
性能目标: 3-4 分钟完成行程规划
共 2 个版本