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

一、案例背景与采集目标

每到小长假,最难的一件事就是做攻略:去哪个城市、哪些景点值得去、门票多少、要留多久、周一会不会闭馆——信息散在几十篇攻略里,看完还是拿不准。这个案例要做的事,是把旅游平台的景点与点评整理成一张行程候选清单,让排行程从刷半天手机变成按条件筛选。和前面求职采集那一案一样,这一篇的落点也是帮学生做决定,只是把「能投哪些岗位」换成了「该去哪些景点」。

示范站点有两个:马蜂窝,网址 https://www.mafengwo.cn/,它的景点页与攻略区信息最全;以及携程旅游攻略,网址 https://you.ctrip.com/sight/guangzhou152.html,它的景点详情页字段规整、门票与开放时间写得清楚。两个站点的景点字段高度相似,正好合到一张表里。

1.1 为什么挑这两个站点

1.2 这个案例要拿到什么

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

要点页面上的样子正确处理
评分制式携程中国站 4.6/5,携程国际版 Trip.com 9.2/10先确认平台与站点,再统一换算成 5 分制(10 分制 ÷ 2),另存一列标原制式
门票价格「成人票 60 元」「套票 120 元」拆成门票下限、门票上限两列,套票或附加说明写进备注
开放时间「09:00–17:00(周一闭馆)」保留开放时间,另设周一闭馆标记列,不要把条件当常态

1.4 这个案例的难点在哪

难点具体表现对策
评分口径不同携程中国站 5 分制、Trip.com 10 分制统一到 5 分制,另存原制式与原始分
门票有区间与套票「60 元」「60–120 元」「套票 120 元」拆成下限与上限,套票写入备注
开放时间带条件「周一闭馆」「淡季 09:00 开」分列记录,条件用标记列承载
页面动态加载点评要滚动才出来驱动浏览器滚动加载,或改用公开列表接口
点评要分页一页 10 到 20 条按页码循环,去重后合并
时长是口语「半天」「2–3 小时」换算成分钟并保留原文
先立三条规矩:只采公开展示的景点与门票元数据;控制频率、不并发轰炸;攻略正文与点评长文受著作权保护,只取标题与出处,不整篇转载。点评里若含他人个人信息(姓名、电话、位置),一律不采。

目标站点与交付产物

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

项目内容
示范站点携程 · 广州旅游攻略
https://you.ctrip.com/sight/guangzhou152.html
攻略与景点点评同体系;页面动态加载、点评需分页,门票常有区间价与套票,评分有 5 分制与 10 分制两种口径
延伸站点
  • 马蜂窝 · 目的地攻略 https://www.mafengwo.cn/mdd/(攻略社区,内容深、点评多)
  • 穷游网 · 目的地攻略 https://www.qyer.com/(入口:首页搜索框输入城市名,进景点、行程与游记列表)
  • 飞猪 · 旅游攻略 https://www.fliggy.com/gonglue/(阿里体系,含门票与酒店)
  • 大众点评 · 广州站(景点频道入口) https://www.dianping.com/guangzhou(从首页「景点」频道进;强反爬,只讲原理)
  • 小红书 · 探索页 https://www.xiaohongshu.com/explore(图文攻略社区,参考案例 09)
交付产物
  • 数据明细.xlsx(评分归一列 + 门票区间拆分列 + 时长分钟数)
  • 数据明细.html(按城市筛选,评分与热度排序)
  • 数据看板.html(城市景点热度榜 + 评分分布 + 门票价格带)
  • 行程候选清单(按城市与时长筛好,可直接用于排行程)
  • 技能压缩包(攻略与点评采集 + 评分口径统一规则)
难度★★☆ 中
合规提示只采公开的景点与攻略元数据;点评属用户生成内容,只做统计不逐条转载;不采集作者个人隐私;门票与开放时间以景区官方为准,采集结果仅作参考。

二、数据源与字段设计

目标站点:马蜂窝 https://www.mafengwo.cn/ 与 携程旅游攻略 https://you.ctrip.com/sight/guangzhou152.html。

项目内容
站点名称马蜂窝(景点与攻略)+ 携程旅游攻略(景点详情)
入口网址https://www.mafengwo.cn/ | https://you.ctrip.com/sight/guangzhou152.html
页面形态与接口景点详情页与点评列表多为动态加载,需驱动浏览器滚动加载后再取;浏览景点与门票无需登录,写点评需登录
实际规模一个热门城市可有上百个景点,每个景点点评从几十到上万条不等
延伸站点同类站点:去哪儿 https://www.qunar.com/、飞猪 https://www.fliggy.com/、穷游网 https://www.qyer.com/、大众点评(多数有风控,只作对照与合规讨论);另一套评分制式的对照源:携程国际版 Trip.com https://www.trip.com/(同一批景点,评分用 10 分制,可用于练制式换算)

2.1 完整字段表(21 个)

下表就是本案例的验收标准。重点看「评分原制式 / 评分统一5分制」与「门票下限 / 上限」这几列,它们是两家站点能合到一张表的关键。

字段名字段含义示例值口径与备注
景点名称景点官方名称西湖照录原文,不改别名
所在城市景点所在城市杭州统一到城市名,不含省份
景点类型自然 / 人文 / 主题乐园 等自然归并到有限几类便于筛选
门票价格原文页面上的门票写法成人票 60 元原样保留,作为清洗依据
门票下限门票最低价(元)60「60」→ 下限 60;免费景点记 0 并备注
门票上限门票最高价(元)120含套票时取套票价
是否套票是否有多景点套票是是 / 否
开放时间每日开放时段09:00–17:00统一成 24 小时制
是否周一闭馆周一是否闭馆是从开放时间说明判断,是 / 否 / 未知
建议游玩时长页面给的时长原文半天照录原文
时长分钟换算后的分钟数240「半天」按 240 分钟,供排序筛选
评分原制式站点评分满分5 分制 / 10 分制记录原始口径
评分统一5分制统一口径后的评分4.510 分制 ÷ 2;保留一位小数
点评数点评总条数12000「1.2万」还原成整数
热度排名站点的热门排名3没有排名就留空
最佳季节适合游玩的季节春秋照录页面说法
交通提示到达方式提示地铁 1 号线龙翔桥站截取前 100 字
攻略标题相关攻略的标题杭州三日游怎么安排只取标题,不取攻略正文
攻略作者攻略作者昵称旅行的某某只记公开昵称,不记其他个人信息
发布时间攻略发布时间2026-08-20统一成 YYYY-MM-DD
详情链接景点详情页地址https://you.ctrip.com/sight/guangzhou152.html用于溯源,不重复下载图片等版权内容

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

两家站点合表,靠的就是口径统一。评分、门票、时长——只要口径对齐,马蜂窝和携程的数据就能放进同一张表比较,这才是本案例真正要练的本事。

课程思政|数据安全与法治素养 · 攻略可以看,正文不能搬

景点信息与门票是公开的,采集没有问题;但攻略正文、点评长文、配图属于作者的创作,受著作权保护。我们只取标题、出处与少量元数据,要引用就注明来源,绝不整篇搬运。尊重他人的劳动,是使用公开数据最基本的礼貌。

AI 助手小贴士|两家站点的评分口径不同,先让 AI 把原始评分与满分都列出来,你确认换算公式后再统一,避免一开始就换算错。

打开 WorkBuddy 或任意 AI 对话工具,试试这样问:请把马蜂窝与携程的景点评分连同它们的满分一起列出来(一个景点一行),先不要换算,我来确认统一到 5 分制的公式。

三、零代码操作步骤

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

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

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

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

  1. 定目标与字段:先看本篇第二节的字段表,把「要哪几列、每列什么口径、要多少条」说清楚——字段清单就是验收标准,说不清就会拿回一张字段乱七八糟的表。
  2. 现场踩点(浏览器技能 BrowserSkill):打开 https://you.ctrip.com/sight/guangzhou152.html,确认评分是多少分制、门票字段长什么样。
  3. 小样试采(WorkBuddy):先只采一个城市的景点列表。
  4. 核对与清洗:① 原始评分与满分口径写清了没有(5 分制与 10 分制别混);② 门票有没有拆成下限与上限;③ 点评是不是按页码循环、去重后合并。
  5. 导出与归档:导出交付物(数据明细表 / 可筛选明细页 / 数据看板 / 可复用的技能包),文件名带上采集日期,并写清数据来源、采集时间与已知局限。
起手一句话(可直接复制):用浏览器技能 BrowserSkill 打开 https://you.ctrip.com/sight/guangzhou152.html(携程 · 广州旅游攻略),把这一页每条记录能采到的字段名和示例值列出来,先不要采集。

下面是在 WorkBuddy 里完成本案例的完整流程。全程不需要你写一行代码,但每一步都要动手核对。

  1. 新建对话,粘贴下一节的采集提示词,先只采一个城市(如杭州)的景点列表。
  2. 先看评分口径。让 AI 把原始评分和满分一起列出来,确认换算公式后再统一。
  3. 拆分门票。说「把门票拆成下限和上限两列,套票信息写进备注,免费景点记 0」。
  4. 处理开放时间。说「保留开放时间,另加一列标记周一是否闭馆」。
  5. 补采点评。说「每页点评都要采,按页码循环,去重后合并,最后统计每个景点的点评数」。
  6. 关联攻略。说「把每个景点相关的攻略标题、作者、发布时间也带上,只取标题不取正文」。
  7. 算时长。说「新增一列时长分钟,把『半天』换算成 240 分钟」。
  8. 排候选清单。说「按城市分组,筛出建议时长在半天内、且周一不闭馆的景点」。
  9. 导出并归档。说「导出为 Excel,文件名 travel_hangzhou_20261008.xlsx」。
先把一个城市做对,再扩到别的城市。评分与门票的口径一旦定好,换城市就是复制同一套规则;反过来一上来就采全国,口径一错全部要重来。

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

下面这段可以直接复制。注意三个要点:网址写全、字段按编号列清、把评分与门票的口径交代死。

提示词
请帮我采集旅游平台上的景点与点评信息,整理成一张景点候选清单。

【目标站点】
  1. 马蜂窝 https://www.mafengwo.cn/
     景点页与攻略区,评分是 5 分制。
  2. 携程旅游攻略 https://you.ctrip.com/
     景点详情页,门票与开放时间写得清楚,评分也是 5 分制。
  3. 携程国际版 Trip.com https://www.trip.com/
     同一批景点,但评分用 10 分制,换算时按「÷ 2、保留一位小数」处理。

【采集范围】先只采杭州的景点列表,我确认后再采更多城市。

【需要字段】按这个顺序:
  1. 景点名称
  2. 所在城市
  3. 景点类型(自然 / 人文 / 主题乐园 等)
  4. 门票价格原文(照录)
  5. 门票下限、门票上限(元,免费记 0)
  6. 是否套票(是 / 否)
  7. 开放时间(统一成 24 小时制)
  8. 是否周一闭馆(是 / 否 / 未知)
  9. 建议游玩时长(原文)
 10. 时长分钟(换算成整数分钟)
 11. 评分原制式(5 分制 / 10 分制)
 12. 评分统一5分制(10 分制 ÷ 2,保留一位小数)
 13. 点评数(「1.2万」还原成整数)
 14. 热度排名
 15. 最佳季节
 16. 交通提示
 17. 攻略标题(只取标题)
 18. 攻略作者(只取公开昵称)
 19. 发布时间(统一成 YYYY-MM-DD)
 20. 详情链接

【处理口径】
  - 评分统一到 5 分制,另存原制式;不要把两种制式的分数直接放一列排序
  - 门票拆下限与上限;免费景点记 0;套票信息写进备注
  - 开放时间保留原文,另设「周一闭馆」标记列

【合规要求】
  - 只采公开展示的景点与门票元数据
  - 攻略正文与点评长文受著作权保护,只取标题与出处,不整篇转载
  - 点评里若含他人姓名、电话、位置等个人信息,一律不采
  - 控制频率,每次请求间隔至少 1 秒
  - 结果导出为 travel_hangzhou_20261008.xlsx

4.1 三条常用追问指令

追问指令
追问一(评分口径没统一):
  同一处景点,携程中国站(you.ctrip.com)打 4.6 分(5 分制),
  携程国际版 Trip.com 却是 9.2 分(10 分制),被直接放在一列里排序了,结果不对。
  请把 10 分制的评分除以 2 统一成 5 分制,并单独保留「评分原制式」列。

追问二(门票区间与套票):
  门票写「60–120 元」和「套票 120 元」的,被当成一个数记了。
  请拆成门票下限和上限两列,把套票说明写进备注,免费景点记 0 并备注「免费」。

追问三(周一闭馆):
  开放时间里有「周一闭馆」,请单独加一列「是否周一闭馆」标记,
  排行程时我要能直接把周一的安排避开这些景点。
时长要换算成分钟再排序。「半天」「2–3 小时」这种写法没法比较,换成分钟之后,才能一句「半天以内」就筛出适合的景点。

AI 助手小贴士|点评分页很容易漏页或多采,让 AI 先报每个景点「应有页数 / 实采页数 / 去重后条数」,一眼就能发现哪里缺了。

打开 WorkBuddy 或任意 AI 对话工具,试试这样问:请按景点分组报告:每个景点点评应有几页、实际采了几页、去重后多少条,把不一致的景点列出来。

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

整理后的结果样例(示例数据,字段形态与真实一致;评分已统一为 5 分制):

景点名称所在城市门票下限门票上限开放时间周一闭馆建议时长评分点评数热度排名
西湖杭州00全天否半天4.7120001
故宫博物院北京606008:30–17:00是3 小时4.8210002
上海迪士尼上海47579908:30–20:30否1 天4.6350003
秦始皇兵马俑西安12015008:30–18:00否半天4.7180005

5.1 五步清洗,一句话一条

清洗指令
① 评分统一:
   10 分制的评分除以 2,统一成 5 分制并保留一位小数;另存「评分原制式」列。

② 门票拆分:
   「60 元」→ 下限 60;「60–120 元」→ 下限 60、上限 120;
   免费景点记 0 并备注「免费」;套票信息写进备注。

③ 开放时间规范化:
   统一成 24 小时制;另设「是否周一闭馆」标记列。

④ 时长换算:
   「半天」→ 240 分钟、「2–3 小时」→ 150 分钟,保留原文另存一列。

⑤ 去重与合并:
   两家站点按「景点名称 + 所在城市」去重,保留信息更全的一条,再导出。

5.2 保存与归档

文件命名
travel_hangzhou_20261008.xlsx          景点清单(原始字段)
travel_hangzhou_20261008_clean.xlsx    清洗版(评分统一 + 门票拆分 + 时长换算)
travel_hangzhou_plan.xlsx              小长假候选清单(按城市与时长筛选后)
travel_hangzhou_log.txt                日志:来源、城市、景点数、点评页数、去重条数
清洗的终点是让数据回答一个问题。评分统一、门票拆分、时长换算之后,一句「杭州、半天能逛完、周一不闭馆的免费景点」就能筛出一份行程候选,这才算把数据用起来了。

课程思政|工匠精神与严谨求实 · 一个换算,决定的是一份行程

把 10 分制的 9.0 直接和 5 分制的 4.5 排序,结果一定是错的;把门票套票价当成单人票,预算就会算歪。评分口径、门票区间、闭馆条件——每一项都要对齐,排出来的行程才靠得住。数据工作里的严谨,最终都落在别人敢不敢按你的清单出门。

AI 助手小贴士|核对景点清单时,让它按城市分组统计景点数与点评数,哪个城市明显偏少,就说明那一批漏采了。

打开 WorkBuddy 或任意 AI 对话工具,试试这样问:请按城市分组统计景点数量和点评总条数,把明显偏少的城市单独列出来,我好判断哪里漏采。

六、常见问题与合规红线

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

现象原因怎么处理
评分排序明显不对5 分制与 10 分制混在一列统一换算成 5 分制,另存原制式
预算算歪把套票价当成单人票门票拆下限与上限,套票写入备注
行程排到了闭馆日开放时间的周一闭馆没单列加「是否周一闭馆」标记列,筛选时避开
点评只采到第一页没做分页循环按页码循环采集,去重后合并并核对条数
点评抓下来是空的页面动态加载,直接打开没渲染驱动浏览器滚动加载,或改用公开列表接口

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

  1. 只采公开元数据。景点名称、门票、开放时间、评分这些公开展示的信息可以采;需要登录才能看的内容不采。
  2. 尊重著作权。攻略正文、点评长文、配图属于作者创作,只取标题与出处,绝不整篇转载。
  3. 不采个人信息。点评里出现的姓名、电话、位置等信息不采、不存、不传;控制频率。
遇到需要登录或验证码时,停下来换公开页面。旅游平台的动态加载与风控都很常见,本课要的是合规地拿到能用的元数据,而不是攻破限制。门票与开放时间会随季节调整,报告里要写采集时间。

课程思政|诚信与职业操守 · 点评是别人的真实体验,不是可以刷的数字

点评数据的价值,来自每一条都是真实游客写下的体验。刷分、刷评、伪造推荐,看起来只是几个数字,损害的却是所有依赖它做决定的人。做数据的人更该明白:一旦开始造假,数据就一文不值;诚实,才是数据能被信任的唯一理由。

七、随堂自测(10 题)

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

已答 0 / 10 · 正确 0 —

1同一处景点,携程中国站评分 4.5(满分 5 分),携程国际版 Trip.com 是 9.0(满分 10 分),要一起比较应怎么处理?

  • A. 直接比数字,9.0 更大说明国际版那个值得去
  • B. 统一换算成 5 分制(9.0 ÷ 2 = 4.5)再比较
  • C. 把 4.5 乘以 2 变成 9.0 再比
  • D. 分数没有可比性,直接丢掉
答案:B。同一个景点、同一家公司,中国站与国际站的评分制式却不同,必须统一到同一制式(这里统一成 5 分制)才能比较,否则排序必错。

2景点门票写「成人票 60 元,套票 120 元」,正确的记录方式是?

  • A. 分别记录:门票下限 60、上限 120,并把套票写进备注
  • B. 只记 60
  • C. 只记 120
  • D. 把两个数相加记成 180
答案:A。门票有区间与套票口径,拆成下限与上限并备注套票,才能正确做预算。

3开放时间写「09:00–17:00(周一闭馆)」,正确的做法是?

  • A. 把开放时间整列删掉
  • B. 只记 09:00–17:00,闭馆信息丢掉
  • C. 保留开放时间,并另设「是否周一闭馆」标记列
  • D. 把「周一闭馆」当成每天都闭馆
答案:C。闭馆是有条件的,单列成标记列,排行程时才不会把闭馆日排进去。

4把「建议游玩时长」写成「半天」这类说法,正确的处理是?

  • A. 直接删掉
  • B. 换算成分钟(半天约 240 分钟)并保留原文
  • C. 当成 0
  • D. 随便填一个数
答案:B。换算成分钟才能排序和筛选,保留原文便于核对,两者都要有。

5抓取旅游攻略正文时,下面哪种做法越界了?

  • A. 只取攻略标题与发布时间的元数据
  • B. 记录攻略链接用于溯源
  • C. 统计某城市的攻略数量
  • D. 把整篇攻略正文原文转载到自己的网站上
答案:D。攻略正文受著作权保护,整篇转载侵权;只取标题与出处是合规做法。

6某点评站评分是 10 分制,另一站是 5 分制,混在一列里直接排序会怎样?

  • A. 没有问题
  • B. 会产生错误的排序,必须先统一口径
  • C. 数字越大越准
  • D. 会自动变得一致
答案:B。满分不同,同样的数字代表的好评程度不同,直接排序会得出错误结论。

7景点页面是动态加载的,直接打开看不到点评,正确做法是?

  • A. 驱动浏览器滚动加载后再取,或改用站点公开的列表接口
  • B. 直接放弃这个站点
  • C. 把空白当成没有点评
  • D. 手动复制粘贴一条即可
答案:A。动态加载要么驱动浏览器,要么用公开接口;把空白当没有数据会造成大面积缺采。

8「点评数」页面显示「1.2万条」,正确记录是?

  • A. 记成 1.2
  • B. 记成 12
  • C. 记成 1200
  • D. 还原成整数 12000
答案:D。数量列要还原成整数,「万」是中文数量单位,直接照抄会小一个量级。

9给小长假排行程,下面最有用的一组字段是?

  • A. 景点名称与详情链接
  • B. 攻略作者与发布时间
  • C. 所在城市 + 建议游玩时长 + 开放时间 + 门票价格
  • D. 热度排名与点评数
答案:C。城市、时长、开放时间、门票这四项直接决定行程能不能排得下、去得起。

10采集旅游平台数据时,下面哪种做法是合规的?

  • A. 绕过登录墙去抓付费点评
  • B. 高频请求把全站点评一次抓完
  • C. 采集并公开其他用户的头像、昵称、位置等个人信息
  • D. 只采公开展示的景点与门票元数据,控制频率并注明来源
答案:D。公开元数据、低频、注明来源,是旅游数据采集的合规做法。