OTA 竞对酒店价格抓取与对比
依赖(缺一不可,先自检)
- browser-skill:必需。动手前先跑
python3 scripts/check_deps.py,
缺谁它打印谁的安装指引(仓库 https://github.com/Tencent/BrowserSkill)。
⚠️which bsk为空 ≠ 没装(macOS 上常在~/.local/bin,不在 PATH)。 - Chrome 已登录携程:必需。PC 详情页会跳登录,移动版只显示"登录看低价"。
- Python 3:离线解析与出报告,无第三方库依赖。
> ⚠️ 每条 bsk 命令都要带 --session <s>,并加 BSK_AUTO_START=0 前缀
> (环境变量不跨 shell 调用保留,不能只在第一条 export 一次)。
执行骨架
- 查依赖:
python3 scripts/check_deps.py;缺了照它打印的指引装。 - 画像:web 搜索摸清我方酒店星级 / 商圈 / 定位 / 客群 / 房型。
- 取 ID:web 搜索
hotels.ctrip.com <酒店名>,取回
hotels.ctrip.com/hotels/<id>.html里的数字 ID。
备用:trip.com 的<城市>-hotel-detail-<id>与携程共用同一 id。
⚠️ 别用站内搜索:?keyword=参数不生效(返回全市 7000+ 家)。 - 开会话:
BSK_AUTO_START=0 bsk session start --json→ 记下session_id。 - 定窗口:先查目标窗口内有无法定节假日(硬规则 3),再决定抓哪几天。
- 配置 roster:写
roster.json(我方短名 / 日期 / 酒店清单含分级与id;
节假日可写holidays覆盖内置表)。抓取脚本直接读它,不会再漏酒店。 - 抓价:
python3 scripts/scrape_batch.py --roster roster.json --out raw --session <s>
—— 断点续抓 + 工具故障快速中止;每店单日约 6s,7×7 约 5–6 分钟,放后台跑。 - 校验:
python3 scripts/verify_capture.py --dir raw - 解析:
python3 scripts/parse_observe.py --dir raw --out parsed.json --report - 出报告(不要手写 HTML / OOXML):四条命令依次跑 ——
build_report.py→build_dashboard.py→build_xlsx.py→check_xlsx.py。
命令参数、字段定义、列定义见references/pipeline.md。
输出契约
- 竞对名单表(含核心 / 次级 / 参考分级 + 入选原因)
- 价格明细表(每店每日最低可订房型一条)
- 对比分析(价差、价差%、我方排名、7 天趋势)
- 早餐口径对齐(无早 / 含早 / 同房型溢价 / 三口径对照)
- 同房型档位对齐(含元/㎡ 归一化)
- 交付物:基础报告 HTML + 收益管理工作台 HTML(
收益管理工作台_<我方全名>.html)
+ 7-sheet xlsx +utf-8-sigCSV
> 前 5 项结构由 scripts/build_report.py 固定生成。
> 工作台把上述内容重排成九段收益工作流(今日市场驾驶舱 → 今日价格监控 →
> 未来日期价格日历 → 市场异常中心 → 竞品价格变化 → 价格差异原因分析 →
> 房型/早餐可比分析 → 历史价格趋势 → 原始数据),顺序即收益经理的每日动线;
> 原报告章节一块不删、折进对应工序。
> 「今日」口径与判定阈值各只有一份、由构建器下发。
> 全页只陈述数据事实,不含定价建议 / 最优价格 / 竞争力评分 / 策略方案。
四条硬规则
- 三口径不可混用(最低可订 / 无早 / 含早),差异会反转结论。
- 基础房售罄会让起价跳档,必须与真实调价区分(判据见
references/pipeline.md)。 - 先查节假日,再谈溢价:峰值日由实测价格决定,不套用「周五+周六」。
窗口含法定假日就按假日算,没有才退化为周末口径,并在报告里写明。 - 市场基准以「中位」为主、均值为辅:个别顶奢能把均价拉高 30%+。
参考(按需读取)
references/pipeline.md— 执行细节:抓价命令、roster 字段、出报告四条命令、列定义、自检清单(前置依赖安装见其 §0)references/parse-anchors.md— a11y 解析锚点、字段缺失处理、文件名约定references/price-calibers.md— 三口径、实测陷阱、同房型对齐、竞对分级references/deliverable-formats.md— HTML/xlsx/CSV 生成、列错位与语言坑、打包分发references/dashboard-modules.md— 收益管理工作台模板:九段结构、模块口径、数据契约、可调项scripts/— check_deps / scrape_batch / parse_observe / verify_capture / build_report / build_dashboard / build_xlsx / check_xlsxevals/— 改动脚本后必跑,清单见references/pipeline.md