今天你 AI 赋能了吗?打开浏览器,在地址栏输入 xuefulu.ai,按下 Enter 即可访问学府路1号!
2026年10月17日 星期六 12:32:20
常用网址:案例设计 | 案例导航 | 学府路1号 https://xuefulu.ai | 下载 WorkBuddy https://xuefulu.ai/WorkBuddy.html

一、案例背景与采集目标

出门旅行或参加校招面试,选酒店总是最费神的一件事:同一晚、同一个商圈,价格能差好几倍,含不含早、离地铁多远、还剩几间房,都要一家一家点进去看。网站明明把所有信息都摆在那里,却没有人替你把它们排成一张能比较的表。这个案例要做的,就是这件事。和前面两个案例一样,它的落点也是帮学生做决定——把「今晚住哪家」变成一次简单的筛选。

示范站点有两个:携程酒店 · 广州酒店列表,网址 https://hotels.ctrip.com/hotels/list?city=32&checkin=2026-10-20&checkout=2026-10-22(city=32 是广州,checkin / checkout 是入住与离店日期,换成自己的日期即可),房型、价格、剩余房量、距离地标都写得很清楚;以及去哪儿酒店,网址 https://www.qunar.com/,用它来对照同一家酒店在不同平台的价格。要提醒的是:酒店搜索有风控,不带日期参数会被直接弹去登录页,连续请求还会弹验证码,本案例只示范公开挂牌价的整理,绝不做高频抓取。

1.1 为什么挑这两个站点

1.2 这个案例要拿到什么

1.3 三个必须先想清楚的口径

要点页面上的样子正确处理
入住日期「10月20日(周二) - 10月22日(周四)」随查询变化必须固定同一个入住日期与天数,价格才有可比性;日期填过去的日子,页面会直接把你弹去登录页
是否含早房型名里带「含早」「不含早」单独成列,不能只看价格高低就默认含早
价格与「起」「¥388 起」「低价房已售完」价格取挂牌价并注明「起」;售完的房型剩余房量记 0,不用别家价格顶替

1.4 这个案例的难点在哪

难点具体表现对策
价格随日期变换个入住日期价格就不同固定同一城市、同一入住日期、同一房型再比价
页面动态加载列表与房型要滚动或点击才出来驱动浏览器滚动加载后再取
有验证码连续请求几次就弹验证码降低频率、拉长间隔,遇验证码立即停止,绝不绕过
低价房会售完「低价房已售完」但仍显示低价剩余房量记 0 并标注,不要用其他房型价格顶替
含早信息不显眼含早与否藏在房型名或标签里单独成列,按房型文案判断并人工抽查
先立三条规矩:只采集公开展示的挂牌价与房型;控制频率(每次间隔 ≥2 秒,连续请求会弹验证码);绝不采用户评价里的姓名、电话、房间号等个人信息。价格是酒店实时定价,报告里必须写清采集时间。

目标站点与交付产物

下表是本篇用到的真实站点。绿色是课堂可稳定复现的示范站点;橙色是延伸站点,多数有登录墙或风控,课堂上只讲结构、原理与合规边界,不教绕过。

项目内容
示范站点携程 · 广州酒店列表
https://hotels.ctrip.com/hotels/list?city=32&checkin=2026-10-20&checkout=2026-10-22
酒店列表动态加载,价格随入住日期变动;链接必须带 checkin/checkout 参数,且日期要用今天或之后,否则会被弹去登录页;连续请求会弹验证码,课堂只采少量页面
延伸站点
  • 去哪儿 · 酒店比价 https://www.qunar.com/(入口:首页「酒店」按城市与日期查,做跨平台比价)
  • 美团 · 酒店频道(广州) https://hotel.meituan.com/guangzhou/(本地生活体系,风控强:脚本访问直接 403,浏览器可正常打开)
  • 同程旅行 · 酒店频道 https://www.ly.com/hotel/(聚合平台)
  • 飞猪 · 酒店频道 https://www.fliggy.com/(阿里体系)
  • 华住会 · 官方预订 https://www.hworld.com/(入口:首页选城市与日期查官方房价,与聚合平台价对照)
交付产物
  • 数据明细.xlsx(入住日期列 + 房型/含早口径列 + 挂牌价)
  • 数据明细.html(按商圈筛选,价格与距离排序)
  • 数据看板.html(商圈酒店分布 + 价格带 + 距离-价格散点)
  • 技能压缩包(动态页采集 + 固定条件与口径标注规则)
难度★★★ 高
合规提示只采公开挂牌价;不采用户评价里的个人信息;连续请求会触发验证码,必须低频并随时可停;价格以酒店官方下单页为准,采集结果仅供参考。

二、数据源与字段设计

目标站点:携程酒店 https://hotels.ctrip.com/ 与 去哪儿酒店 https://www.qunar.com/。

项目内容
站点名称携程酒店(房型与价格)+ 去哪儿酒店(比价对照)
入口网址https://hotels.ctrip.com/hotels/list?city=32&checkin=2026-10-20&checkout=2026-10-22
页面形态与接口酒店列表与房型信息动态加载,需驱动浏览器滚动后再取;浏览挂牌价无需登录,但必须带上入住与离店日期参数,否则会被弹去登录页;连续请求还会弹验证码
实际规模一个城市的某商圈一晚可有几十到上百家酒店在售,价格随日期与房量实时变化
延伸站点同程旅行 https://www.ly.com/、飞猪 https://www.fliggy.com/、美团酒店 https://hotel.meituan.com/、华住会——均有风控(美团对自动访问直接返回 403),只作对照与合规讨论

2.1 完整字段表(16 个)

下表就是本案例的验收标准。重点看「入住日期」——它是所有价格的前提;离开固定的入住日期谈价格比较,是这类数据最容易犯的错。

字段名字段含义示例值口径与备注
酒店名称酒店全称某某大酒店保留原文,不擅自简写
城市所在城市广州统一到城市名
行政区或商圈行政区或商圈天河商圈便于按位置筛选
地址详细地址广州市天河区某某路 1 号照录原文
星级酒店星级5 星统一成 经济型 / 3 星 / 4 星 / 5 星 等档位
用户评分用户打分4.7多为 5 分制;注明制式
点评数点评总条数3200还原成整数
房型房型名称高级大床房照录原文,去掉促销词
是否含早该房型是否含早含早含早 / 不含早 / 未知
早餐份数含早时的份数2不含早记 0;未知留空
入住日期查询用的入住日期2026-10-20所有价格的前提,必须固定;填过去的日期页面会弹登录页
价格该房型挂牌价(元/晚)688纯数字,去掉「¥」与「起」,「起」另设备注
剩余房量剩余可订房量5「低价房已售完」记 0;未知留空
距离地标距最近地标的距离距体育西路地铁站 500 米分行记录距离对象与米数
详情链接酒店详情页地址https://…/hotel/数字编号.html形如示例,末尾数字是该酒店的编号,用于溯源
采集时间本次采集的时刻2026-10-08 15:20价格实时变,必须记录

2.2 三个口径写死,后面少踩坑

字段清单就是验收标准。采完拿这张表逐列对照,尤其检查「入住日期」是不是每一行都一样——只要出现了两个日期,这份比价表就作废了。

课程思政|数据安全与法治素养 · 房价可以比,住客隐私不能碰

酒店页面上的挂牌价、房型、位置都是公开信息,采集没有问题;但住客评价里的姓名、电话、房间号,以及谁住了哪间房,属于个人隐私,任何情况下都不该去碰。住宿信息与个人行踪高度相关,法律约束最严。数据工作者的分寸,在这种地方体现得最清楚。

AI 助手小贴士|价格可比性的前提是「同一个入住日期」。先让 AI 确认所有价格是不是都在同一日期下采集的,再开始比价。

打开 WorkBuddy 或任意 AI 对话工具,试试这样问:请确认这份酒店清单里所有价格是不是都在同一个入住日期(2026-10-15、住 1 晚)下采集的;如果不是,请分组标出不同的日期。

三、零代码操作步骤

工具与技能|先看清三个角色,再动手

本篇全程零代码:你把要求说清楚,AI 去执行,你负责验收。三个角色分工如下——浏览器技能指的是腾讯开源的 BrowserSkill,它能让 AI 直接操作你电脑上真实的浏览器(可复用已经登录的状态),自己开一个独立窗口干活,不打扰你正在看的网页;遇到验证码、登录或确认弹窗,它会停下来交给你本人处理。

角色负责什么在本案例里具体做什么
你确认字段清单、验收结果、清洗与合规把关盯字段清单、核对结果、处理异常(如验证码)
WorkBuddy接中文指令:探字段 → 批量采 → 清洗 → 导出交付物拆解本篇的采集任务并跑完全量、产出交付物
浏览器技能
BrowserSkill
以真实浏览器打开页面:跑脚本渲染、滚动 / 翻页 / 点开详情、截图留证;可复用本机浏览器已登录状态,遇到验证码或登录弹窗会停下来交给你处理打开酒店列表,把入住日期固定住再比价

五步操作主线(全课程统一,每一篇都按这个顺序推进):

  1. 定目标与字段:先看本篇第二节的字段表,把「要哪几列、每列什么口径、要多少条」说清楚——字段清单就是验收标准,说不清就会拿回一张字段乱七八糟的表。
  2. 现场踩点(浏览器技能 BrowserSkill):打开 https://hotels.ctrip.com/hotels/list?city=32&checkin=2026-10-20&checkout=2026-10-22,确认入住日期与住几晚是怎么传的(注意日期要用今天或之后,填过去会被弹去登录页)。
  3. 小样试采(WorkBuddy):先只查广州天河商圈、入住日期固定为 2026-10-20、住 2 晚。
  4. 核对与清洗:① 采到的酒店数与页面显示的在售家数一致吗;② 是否含早有没有单独成列;③ 「低价房已售完」有没有记 0 并标注(不许用别家价格顶替)。
  5. 导出与归档:导出交付物(数据明细表 / 可筛选明细页 / 数据看板 / 可复用的技能包),文件名带上采集日期,并写清数据来源、采集时间与已知局限。
起手一句话(可直接复制):用浏览器技能 BrowserSkill 打开 https://hotels.ctrip.com/hotels/list?city=32&checkin=2026-10-20&checkout=2026-10-22(携程 · 广州酒店列表),把这一页每条记录能采到的字段名和示例值列出来,先不要采集。

下面是在 WorkBuddy 里完成本案例的完整流程。注意:遇到验证码就停下,降低频率或改用人工少量查询。

  1. 新建对话,粘贴下一节的采集提示词,先只查广州天河商圈、入住日期固定为 2026-10-15、住 1 晚。
  2. 先看条数。确认采到的酒店数与页面上显示的在售家数一致。
  3. 核对入住日期。让 AI 确认每一行的入住日期都相同,并说明查询用的日期与天数。
  4. 拆含早与价格。说「把是否含早单独成列,价格去掉货币符号和『起』字,『起』写进备注」。
  5. 处理售完房型。说「『低价房已售完』的房型,剩余房量记 0 并标注,不要用别家价格顶替」。
  6. 补距离地标。说「把每家酒店距离最近地铁站或景点的距离单独成一列」。
  7. 比价对照。说「去同一家酒店在去哪儿上的价格,与携程的收入同一张表对照」。
  8. 筛选备选。说「筛出天河商圈、含早、4 星以上、距地铁 500 米内、每晚 600 元以内的酒店」。
  9. 导出并归档。说「导出为 Excel,文件名 hotels_guangzhou_20261016.xlsx」。
一次只查一个城市、一个入住日期。把一晚的价格做准了,再换日期对比涨跌;同时铺开多个城市多个日期,一旦风控触发,全部数据都要重来。

四、提示词模板与追问技巧

下面这段可以直接复制。注意四个要点:网址写全、固定入住日期、字段按编号列清、把不绕验证码、不碰个人隐私交代死。

提示词
请帮我采集酒店住宿信息,整理成一张酒店比价清单。

【目标站点】
  1. 携程酒店 https://hotels.ctrip.com/hotels/list?city=32&checkin=2026-10-20&checkout=2026-10-22
     city=32 是广州,checkin / checkout 是入住与离店日期,换成自己的日期即可
     (注意:日期要用今天或往后的日子,填过去的日期页面会弹登录页)。
     房型、价格、剩余房量、距离地标都写得清楚。
  2. 去哪儿酒店 https://www.qunar.com/
     用来对照同一家酒店在两个平台的价格。

【查询条件】城市:广州;商圈:天河;入住日期:2026-10-20;住 2 晚(10-22 离店)。
  注意:所有价格必须在同一个入住日期下采集,否则不可比。

【需要字段】按这个顺序:
  1. 酒店名称
  2. 城市
  3. 行政区或商圈
  4. 地址
  5. 星级(经济型 / 3 星 / 4 星 / 5 星 等)
  6. 用户评分(注明制式)
  7. 点评数(还原成整数)
  8. 房型
  9. 是否含早(含早 / 不含早 / 未知)
 10. 早餐份数(不含早记 0)
 11. 入住日期(统一成 2026-10-20)
 12. 价格(纯数字,元/晚;「起」另外备注)
 13. 剩余房量(「低价房已售完」记 0)
 14. 距离地标(距地铁站或景点多少米)
 15. 详情链接
 16. 采集时间(2026-10-16 10:30 这种格式)

【处理口径】
  - 固定同一入住日期与天数,所有价格才可比
  - 含早与否单独成列,不只按价格排序
  - 「低价房已售完」的房型剩余房量记 0 并标注,不要用其他房型价格顶替

【合规要求】
  - 只采公开展示的挂牌价与房型
  - 绝不采用户评价里的姓名、电话、房间号等个人信息
  - 控制频率,每次请求间隔至少 2 秒;遇到验证码立即停止并告诉我,绝不绕过
  - 结果导出为 hotels_guangzhou_20261016.xlsx

4.1 三条常用追问指令

追问指令
追问一(入住日期不一致):
  这份清单里好像混进了不同入住日期的价格。请按入住日期分组,
  把不是 2026-10-20 的记录单独列出来,并告诉我每一组的酒店数与均价。

追问二(含早没分开):
  含早与不含早的房型被按价格混在一起排了。请把「是否含早」单独成列,
  并按「含早」和「不含早」分别给出均价,方便我判断含早到底值不值。

追问三(售完房型):
  有几家酒店标着「低价房已售完」,价格却还是低价。
  请把这些房型的剩余房量改成 0 并标注「已售完」,不要用同酒店其他房型的价格顶替。
价格必须连着入住日期一起看。同一家酒店,工作日晚和周末晚可能差一倍,报告里一定要写清「这是哪一晚的价格」,否则再精确的数字也没有意义。

AI 助手小贴士|比价前先让 AI 做一次「同店校验」:同一家酒店在两个平台的价格差多少,差得离谱的先人工看一眼。

打开 WorkBuddy 或任意 AI 对话工具,试试这样问:请找出在两个平台都出现的同一家酒店,把它们的价格并排列出来,把价差超过 30% 的单列出来给我核对。

五、结果核对、清洗与保存

整理后的结果样例(示例数据,字段形态与真实一致;均为 2026-10-20 入住、住 2 晚):

酒店名称城市商圈星级评分点评数房型含早入住日期价格剩余房量距离地标
某某大酒店广州天河商圈5 星4.73200高级大床房含早2026-10-206885距体育西路地铁站 500 米
某某商务酒店广州珠江新城4 星4.51800标准双床房不含早2026-10-204282距珠江新城地铁站 800 米
某某快捷酒店广州北京路3 星4.2960单人房不含早2026-10-202180距北京路步行街 300 米
某某公寓酒店广州琶洲4 星4.61250复式房含早2026-10-205208距琶洲地铁站 400 米

5.1 五步清洗,一句话一条

清洗指令
① 锁定入住日期:
   确认所有记录的入住日期与天数为同一组(2026-10-20,住 2 晚),不一致的分组标注。

② 价格清洗:
   去掉「¥」与「起」,只留数字;「起」写进备注列;币种注明人民币。

③ 含早标准化:
   按房型文案判断含早 / 不含早 / 未知,含早单独成列并标早餐份数。

④ 售完房型处理:
   「低价房已售完」的剩余房量记 0 并标注,不用其他房型价格顶替。

⑤ 去重与对照:
   按「酒店名称 + 房型 + 入住日期」去重;两个平台同店的价格并排对照后再导出。

5.2 保存与归档

文件命名
hotels_guangzhou_20261016.xlsx          酒店清单(原始字段)
hotels_guangzhou_20261016_clean.xlsx    清洗版(价格清洗 + 含早标准化 + 售完标注)
hotels_guangzhou_compare.xlsx           两平台同店比价对照表
hotels_guangzhou_log.txt                日志:城市、商圈、入住日期、家数、验证码次数、采集时间
清洗的终点是让数据回答一个问题。锁定日期、清洗价格、标准化含早之后,一句「天河、含早、4 星以上、距地铁 500 米内、600 元以内」就能筛出几家备选,这才算把数据用起来了。

课程思政|工匠精神与严谨求实 · 离开入住日期的房价,只是一个数字

同一家酒店,周五晚和周二晚可能差一倍;标着 388 元的房型,点进去可能已经售完。不锁定入住日期、不标注售完状态,比出来的「最便宜」就是假的。数据工作的严谨,体现在每一个前提都写清楚——因为别人会照着你的结论去订房。

AI 助手小贴士|核对房价时,让它先把每个商圈的酒店数与最低价列出来,哪个商圈数据明显偏少,就说明那一批漏采了。

打开 WorkBuddy 或任意 AI 对话工具,试试这样问:请按商圈分组统计酒店数量、最低价与均价,把数量明显偏少的商圈列出来,我据此决定补采哪些。

六、常见问题与合规红线

6.1 这个站点上最容易踩的五个坑

现象原因怎么处理
比出来的最低价不可信混了不同入住日期的价格锁定同一入住日期与天数,按日期分组核对
把售完的房型当成在售没标注「低价房已售完」剩余房量记 0 并标注,不用其他房型价格顶替
含早没分开,均价算不准含早与否混在一列含早单独成列,按含早与不含早分别统计
列表抓下来是空的页面动态加载,直接打开没渲染驱动浏览器滚动加载后再取
查几次就弹验证码请求频率过高触发风控立即停止,降低频率、拉长间隔,绝不绕过验证码

6.2 三条合规红线(每个案例都要过一遍)

  1. 只采公开挂牌价。公开展示的价格、房型、位置可以采;需要登录或会员才能看的协议价不采。
  2. 不采个人信息。住客评价里的姓名、电话、房间号等信息一律不采、不存、不传。
  3. 控制频率。每次请求间隔 ≥2 秒,遇到验证码立即停止;采集结果只用于课堂分析。
酒店价格是实时定价,报告里必须写清采集时间与入住日期。遇到验证码就停下来,绝不绕过;本课要的是合规地比对公开挂牌价,而不是攻破平台风控。

课程思政|诚信与职业操守 · 价格可以比,数据不能编

把所有平台的价格都采一遍,不如把其中一个平台的价格采准。缺了就写缺了,售完了就写售完了,绝不用平均值或别家价格把空格填上——编出来的价格会让人做出错误的预订决定。诚实地留下空白,比伪造一个漂亮的数字重要得多。

七、随堂自测(10 题)

点击选项即可判分,答错的题会立刻显示解析。

已答 0 / 10 · 正确 0 —

1比较不同酒店的价格,最关键的约束是?

  • A. 只看酒店名称
  • B. 随便填一个日期
  • C. 必须固定同一个入住日期与天数才有可比性
  • D. 只看星级
答案:C。酒店价格随入住日期与房量实时变化,不固定日期比价等于拿苹果比橘子。

2同一家酒店今天和明天的房价可能不同,原因是?

  • A. 酒店挂牌价随入住日期、房量与促销动态变化
  • B. 网站标错了
  • C. 浏览器缓存问题
  • D. 价格是随机数
答案:A。酒店是动态定价,日期、剩余房量、促销都会影响价格,所以必须固定日期。

3房型写「高级大床房 · 含早」,识别「是否含早」的正确做法是?

  • A. 一律当成含早
  • B. 按房型文案里的「含早 / 不含早」判断并单独成列
  • C. 只看价格高低
  • D. 忽略这一项
答案:B。含早与否直接影响性价比,必须按房型文案判断并单独成列。

4页面提示「低价房已售完」,正确做法是?

  • A. 把价格填 0
  • B. 忽略这条酒店
  • C. 标注该房型无房(剩余房量记 0),不要用其他房型的价格顶替
  • D. 编一个价格填上
答案:C。售完是明确的状态,记 0 并标注;用别家价格顶替会误导订房决策。

5「距离地标 500 米 / 距地铁站 800 米」,正确的记录方式是?

  • A. 直接删掉
  • B. 只记数字不记对象
  • C. 改成经纬度坐标
  • D. 分行记录距离对象与米数,便于按位置筛选
答案:D。只有「距什么、多少米」配对才有意义,只留数字无法判断离哪儿近。

6连续多次请求酒店搜索页后弹出验证码,正确做法是?

  • A. 立即停止,降低频率、拉长间隔,绝不绕过验证码
  • B. 想办法绕过验证码
  • C. 换 IP 继续高频请求
  • D. 付费找人破解
答案:A。验证码是网站明确的访问边界,正确做法是停止并降低频率,而不是绕过。

7采集酒店信息时,下面哪种做法越界了?

  • A. 采集公开挂牌价与房型
  • B. 采集并保存住客评价里的姓名、电话、房间号等个人信息
  • C. 记录距离地标的米数
  • D. 统计某商圈的酒店数量
答案:B。住客个人信息与个人行踪高度相关,任何情况下都不该采、存、传。

8「剩余房量」显示「5」、价格显示「¥388 起」,正确的记录方式是?

  • A. 把「起」当成价格的一部分记进去
  • B. 把 5 当成价格
  • C. 把两个字段合成一列
  • D. 价格取 388,另设备注列记「起」,剩余房量记 5
答案:D。数值列只留数字,「起」的含义进备注列,剩余房量单列,两者不能混。

9想知道某酒店是不是「地铁口」,最该看哪一列?

  • A. 星级
  • B. 距离地标
  • C. 点评数
  • D. 剩余房量
答案:B。距离地标记录了到地铁站或景点的米数,是判断位置方便程度的关键列。

10把两家平台的价格放到一起比,最基本的做法是?

  • A. 固定城市、入住日期与房型口径,再比价
  • B. 直接比首页第一个数字
  • C. 比谁的图片好看
  • D. 只比星级
答案:A。只有城市、入住日期、房型口径都一致,两家的价格才真正可比。