Yellow Pages 数据采集法律边界与实战方法
Yellow Pages 数据采集现实:robots.txt 限制、ToS 约束、合规替代方案、实用可靠性建议。给做目录数据采集的团队——哪些能做、哪些要事先打招呼、哪些要过法务。
前言
Yellow Pages(不同国家是不同运营方,要分别看 robots 和 ToS)和类似目录包含丰富的企业列表数据。先说现实:站点规则和现代反爬防御都要认真对待。
这篇主要说:哪些能做、哪些要事先打招呼、哪些要过法务,以及尊重边界的实战选项。
注意: "Yellow Pages" 在不同国家指多个独立实体——yellowpages.com (美国)、yellowpages.com.au (澳大利亚)、yellowpages.ca (加拿大)等。每个都有不同的 robots.txt 规则、ToS 和运营方。没有一个全球通用方案。
1) Yellow Pages 数据是什么(为什么很棘手)
目录页面通常包含企业名称、地址、电话、类别、营业时间、评分、链接和照片。数据本身挺有价值。
但是实际跑的时候要注意两块:一是权限,二是存活率。UI 是动态的、分页的、位置感知的,而且经常改版,CSS/DOM 一变,脆弱的提取器就挂了。
更重要的是,现代防御不只看 IP。JavaScript 挑战、行为分析、TLS 指纹(JA3/JA4)都在用,所以存活率不只是选择器的问题,会话卫生和请求一致性同样重要。
2) 现实检查(法律 & Robots)
robots.txt(爬虫排除协议)
YellowPages.com 的 robots 文件明确禁止关键区域(包括 /search)并阻止命名爬虫(例如 scrapy、008)。不同的 Yellow Pages 站点(例如 yellowpages.com.au、yellowpages.ca)有各自的 robots.txt 文件和规则——要逐个检查。
robots.txt(爬虫排除协议)本身只是告诉爬虫"最好怎么抓",不是一道真正拦你的门。但是企业项目里一般会按硬规则对待,除非拿到了书面授权。根据 Google 开发者文档,这确实是建议性信号。不过忽略它意味着明知道站方不希望你抓,法务上的被动会更大。建议做法: 除非拿到书面许可,建议当硬边界看。
服务条款(ToS)
Yellow Pages / Thryv 的 ToS 明确禁止未经事先书面同意的抓取、数据挖掘等自动化采集行为。
这是合同条款。违反可能导致账号封禁、发律师函、甚至诉讼。企业要走授权渠道,不要硬闯。
没有官方公开 API
YellowPages.com 没有发布供第三方用的公开 API。
市场上有不少非官方的 "Yellow Pages API",但它们跟 Yellow Pages 官方没关系,用在企业项目前要先过法务。不然后面一旦对方改版或者发律师函,服务和合规都会受影响。
总结:要做成规模化、自动化的抓取,正常做法是先拿到站点的授权/合作渠道,再去跑采集,这样合规成本最低。同时要遵守 robots.txt 和 ToS。
这不是法律建议。具体还要看你所在的国家/地区怎么规定,以及公司法务的要求。
3) 使用场景(合法、高价值场景)
在正确获取和许可(或获得许可采集)的前提下,目录数据可以支持:
线索丰富化 & 去重
用验证过的地址、电话和企业类别改善 CRM 准确性,减少重复并提高联系质量。
本地市场地图
按城市或邮编测量类别密度,用于区域规划和竞争分析。
竞争对手格局
跨区域跟踪企业开业、关闭和服务线变化,保持市场洞察优势。
合规 & 品牌监控
验证特许经营或经销商列表的准确性和跨目录的命名一致性。
店铺定位器 QA
确保自己的营业地点列表准确,防止失去客户流量。
特许经营区域检查
检测区域重叠或违反协议的未授权特许经营地点。
研究数据集
构建用于趋势分析、学术研究或市场情报报告的语料库。
这些成果更依赖清晰的权利、可靠的来源和强大的质量保证(编码、选择器稳定性、去重),而不是"抓取技巧"。
4) 获取 Yellow Pages 类数据的选项
先问源头(最合规)
探索直接与 Yellow Pages / Thryv 的许可或合作。这是大规模数据访问的最干净路径。
如果你已经在他们那里投放广告,检查数据权利是否作为现有业务关系的一部分可用。
第三方数据提供商 / 聚合器 API
可靠的提供商结合多个来源并处理许可复杂性。他们通常提供具有明确使用条款的 API 或批量下载。
做尽职调查:
- •新鲜度: 数据多久更新一次?
- •来源: 数据从哪里来?是合法来源吗?
- •许可范围: 你是否被允许用于你的预期目的?
- •覆盖范围: 是否包括你需要的地理位置和类别?
- •支持: 能否在 schema 问题或质量问题上获得帮助?
非官方 "Yellow Pages API" 工具(高风险)
RapidAPI 和 Apify 等市场有不少标记为 "Yellow Pages API" 的抓取器,但这些不是官方出的,通常都是在未经目录运营方许可的情况下抓数据。
这类第三方 "Yellow Pages API" 大多不是官方出的,用在公司业务前要先过法务。不然后面一旦对方改版或者发律师函,服务和合规都会受影响。
企业慎用。很多公司因为合规风险,完全不碰非官方来源。
替代来源
在适用的情况下,政府注册表或行业目录提供更清晰的使用条款和验证数据:
- •州务卿数据库(美国):公司备案和注册地址
- •英国公司注册处: 公司注册详细信息和董事
- •行业协会: 具有宽松条款的特定行业目录
这些来源为 B2B 用例提供经过验证的、合规的替代方案,尽管它们可能缺乏面向消费者的列表详细信息。
5) 如果业务上确实要抓(且法务通过)
下面这些采集侧的建议,默认你已经拿到授权/有法务认定的合法依据了,再往下看。
尊重 robots.txt 和 ToS
虽然 robots.txt(爬虫排除协议)技术上是建议性的,但企业项目里一般按硬边界看。忽略它意味着明知道站方不希望你抓,法务风险会更大。保守做法: 禁止的路径别碰,命名的爬虫 UA 别用。要做规模化自动化,先拿书面同意。技术上能绕不代表合规上能做,ToS 和法律都可能卡你。
限速 & 退避
用类似人类的模式控制请求节奏,服务器发送时遵守 Retry-After 标头。随机抖动避免机械模式并减少服务器负载。这是概念性指导——实现应根据你的具体需求定制。
缓存 & 条件请求
使用新鲜度提示(If-Modified-Since、ETags)避免重新获取未更改的页面。这对服务器礼貌,对你的基础设施也节省成本。
会话卫生(一致性很重要)
整个会话里,UA、语言、IP 类型、cookie 要讲同一个人设故事。不一致的信号很容易被识别。关键对齐点:
- •千万别用移动 IP 配桌面 user-agent,对不上会穿帮
- •同一个逻辑会话里 cookie 要保持连续
- •Accept 标头、编码偏好都要稳定,别来回跳
- •遵循自然导航流程(搜索 → 列表 → 详情),别瞬移
指纹现实(JA3/JA4)
TLS 指纹(JA3/JA4)和请求间行为信号帮助防御系统识别非浏览器客户端。
TLS 特征和浏览器声明不匹配是常见的检测信号。现代反爬防御分析多个信号,不只是 IP 地址——包括 TLS 握手、JavaScript 执行和时序模式。
数据质量控制
优先使用稳定属性而不是位置选择器。用健康检查和告警监控选择器漂移。在数据进入生产系统之前验证字符编码和 schema 结构。构建断言以尽早捕获破坏性变化。
6) 会话卫生的代理选项
当许可的采集需要 IP 轮换和会话管理时,存在几种代理类型。选择取决于目标反爬复杂性和你的预算:
住宅代理
通过 ISP 分配的家庭/企业 IP 路由。通常比数据中心 IP 声誉更好,具有适度的轮换模式。适合具有中等防御的面向消费者站点。
数据中心代理(良好轮换)
快速且经济,但数据中心 ASN 容易识别。适用于反爬检测较轻的站点。通常被复杂防御阻止。
移动代理(4G/5G 运营商 IP)
通过运营商网络(移动 ASN)和许多合法用户共享的 CGNAT 池路由流量。移动 IP 通常与大量合法用户流量混合,IP 信誉相对较好。
IP 只是其中一个信号,现在很多站同时看 TLS 指纹(JA3/JA4)、JS 挑战和行为节奏,所以代理只是整体卫生的一环,不是万能绕过手段。根据目标站点反爬配置选择。
代理不改变什么
现代防御权衡 IP 地址之外的许多信号:
- •请求头和一致性模式
- •行为信号和时序
- •TLS 指纹(JA3/JA4)
- •JavaScript 执行和挑战
将 IP 轮换(任何类型)视为更广泛可靠性和合规策略中的一个输入,而不是绕过机制。IP 声誉本身不能覆盖行为检测。
7) 团队行动手册(决策框架)
明确合法依据 & 许可路径
要考虑的选项:
- •从目录运营方获得许可的 feed
- •具有明确数据权利的合作伙伴协议
- •研究例外(商业规模很少见;与法律顾问核实)
如果不确定,在继续之前暂停并咨询法律顾问。
检查地理合规性
目录列表可能包含个人数据(例如,个体经营者姓名、照片、联系方式)。
行动项:
- •将数据字段映射到个人 vs 非个人类别
- •最小化采集(只采集你需要的)
- •设置保留政策和删除程序
- •确保与供应商的数据处理协议
选择来源
按合规信心排序:
- 1.许可 feed 直接来自目录运营方
- 2.成熟的聚合器 具有清晰的来源和条款
- 3.公共注册表/行业目录 具有明确使用权
- 4.非官方工具(最后手段,风险最高)
定义 Schema 和验证
要标准化的核心字段:
- •规范企业名称加常见变体
- •地址组件(街道、城市、州/省、邮政编码、国家)
- •带格式规范化的电话号码
- •类别/行业分类分类法
- •状态标志(营业/关闭/搬迁)
计划选择器漂移监控(如果允许 HTML)
- •为你的选择器版本化并在 schema 变更日志中跟踪更改
- •为提取成功率设置健康检查和告警
- •为关键字段保留备用选择器
- •成功率降到阈值以下时告警(例如 90%)
设置可靠性 SLO
- •新鲜度节奏: 数据必须多久更新?(每天、每周、每月)
- •错误预算: 升级前的可接受失败率
- •告警: 向值班团队显示失败、ToS 更改和限速错误
8) 代码从哪里拿
这篇侧重于概念、规则和战略决策,而不是实现细节。
这是一个示例选择器模式作为起点(受布局更改影响):
# 伪代码示例 - 如果 YP 布局更改必须更新
business_name = page.select('.business-name')
phone = page.select('.phone')
address = page.select('.street-address, .locality, .region')
# 验证提取成功
if not business_name or not phone:
log_extraction_failure(page_url)
alert_team()重要: 站点重新设计时选择器会破坏。监控提取成功率并为你的选择器版本化。
当你需要生产代码——限速逻辑、会话处理、质量保证检查——问 ChatGPT 或 Claude 编码工具,让它生成针对你特定页面、库和合规约束定制的示例。
它们可以生成你可以放入管道的最小、现代的代码片段和测试,根据你的确切需求定制。
9) 总结
权限优先,技术其次。
Yellow Pages 的 robots.txt(爬虫排除协议)和 ToS 限制自动化采集。要做成规模化、自动化的抓取,正常做法是先拿到站点的授权/合作渠道,这样合规成本最低。
优先走许可或官方渠道。
第三方聚合器或替代注册表通常比自己 DIY 抓取更合规、更稳定。
如果确实要抓(且法务通过),重点是会话卫生。
限速、缓存、条件请求、质量监控都要做。代理选择(住宅、数据中心、移动)根据目标站的反爬配置来定。不管用什么 IP,TLS 指纹(JA3/JA4)、行为节奏等信号在现代检测系统里权重更大。
最难的问题不是"怎么解析页面"。
而是怎么负责任地、可靠地、在法律和合同边界内把事做了。
参考资料
https://www.yellowpages.com/robots.txt
https://www.yellowpages.com/about/legal/terms-conditions
https://developers.google.com/search/docs/crawling-indexing/robots/intro
https://developers.cloudflare.com/bots/additional-configurations/ja3-ja4-fingerprint/
https://blog.cloudflare.com/ja4-signals/
https://requests.readthedocs.io/
https://rapidapi.com/ 和 https://apify.com/store
注意:非官方第三方工具和 API 未经 Yellow Pages / Thryv 认可,可能与服务条款冲突。这些参考仅供参考,不是认可。在法律顾问指导下评估法律风险。