全部文章

大规模聚合房地产房源数据

房地产门户网站使用不同的反爬虫技术栈、页面布局和地理位置限制。以下是如何在无需维护六个爬虫的情况下,实现大规模房源数据聚合。

挑战

你的团队发布了一款房源产品。它正常运行了三周。接着,Zillow 更改了其 DOM,Rightmove 收紧了其 TLS 校验,你的爬虫在一个周末内就在六个数据源中的四个上彻底失效。

房地产数据聚合面临着一个价格监控和 SERP 追踪所没有的特定问题。你不是从一个干净的 API 中提取结构化数据。你是在拼凑来自各个门户网站的房源信息,而这些网站各自使用不同的反爬虫技术栈、不同的布局、不同的地理位置以及不同的更新频率。美国的 Zillow、提供 MLS 支持数据的 Redfin、英国的 Rightmove、澳大利亚的 realestate.com.au、德国的 Immobilienscout24。每个门户网站本身都是一个独立的工程项目。

根据 Scrapfly 2026 年的研究,顶级的房地产门户网站会检查 TLS 指纹,并拒绝不模拟浏览器级握手的客户端。他们的 Rightmove 指南 详细介绍了嵌入在 JavaScript 变量中的 JSON,其结构每隔几个月就会发生变化。Redfin 将房产数据分散在数十个 DOM 节点中,因此一次简单的布局调整就可能导致你同时丢失一半的字段。此外,区域性门户网站会根据访问者所在的国家/地区提供不同的内容,这意味着位于美国的爬虫在 realestate.com.au 上看不到任何有用的信息。

结果是:你的房源新鲜度在悄无声息地下降。三分之一的房产数据在 48 小时内变得陈旧。你的用户看到的是上周的价格。你的销售团队开始收到客户的抱怨,而你的支持工单在周一急增,因为门户网站的布局往往会在周末发生变化。

解决思路

大规模聚合房源并不是一个爬虫问题。它是一个伪装成爬虫问题的可靠性问题。为什么你的爬虫一直失效 介绍了通用情况。而房地产领域则放大了其中的每一个环节。

任何能够很好处理这一问题的平台都需要四个要素协同工作。第一,与真实浏览器匹配的 TLS 指纹(不仅是浏览器样式的 User-Agent 字符串,还包括 Zillow 和 Rightmove 用来区分爬虫和人类的实际密码套件顺序和 ClientHello 扩展)。第二,每个目标市场中地理位置精准的住宅 IP,因为德国的聚合商不能向 Immobilienscout24 发送美国数据中心的流量并期望获得有用的响应。第三,单主机 proxy 路由,因为在 Zillow 上有效的策略在 realestate.com.au 上会失效。第四,将浏览器渲染作为将所有内容推送到客户端的门户网站的后备方案。

通过 FourA 的 Proxy 产品对 Rightmove 发起请求的示例如下所示:

curl -X POST https://api.foura.ai/api/proxy/ \
  -H "x-api-key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "maxTries": 5,
    "timeout_ms": 45000,
    "request": {
      "method": "GET",
      "url": "https://www.rightmove.co.uk/properties/123456",
      "unblocker": true,
      "followRedirects": 5,
      "validate": {
        "status": {"accept": [200]},
        "data": {"fail": ["blocked", "access denied"]}
      }
    }
  }'

unblocker 标志在注入匹配的 TLS 指纹的同时,还会注入完整的浏览器 header 集合。maxTries: 5 告诉 proxy 管理器轮换最多五个 IP,直到成功为止。验证规则可以捕获无声拦截:即返回软拦截页面而不是房源数据的 200 response。因此,你的成功率反映的是实际有效的工作,而不是 HTTP 状态所声称的结果。

通过 JavaScript 提供所有内容的门户网站(Redfin 就是一个明显的例子)需要真实的浏览器渲染。我们的 Browser 产品使用实际的 Chromium 实例来处理这些情况,而不是在第一次握手时就会被标记的轻量级模拟器。Bot 检测已转向行为分析 发生在 2026 年,任何不达真实浏览器标准的技术都变得越来越容易被识别。

效果

当房地产聚合商从自定义爬虫技术栈切换到 API 优先的方法时,会发生什么?我们在实际运营中看到的模式(基于行业基准的说明性场景):

  • 房源新鲜度:在活跃市场中,从“48 小时内更新”提升至“2 小时内更新”
  • 工程时间:爬虫维护时间减少 70%。只需一名轮值工程师,而不需要专门的团队
  • 门户覆盖范围:从 6 个网站扩展到 20 多个,而基础设施没有成比例增加
  • 无声拦截率:一旦验证规则捕获了软拦截,受保护门户网站上的无声拦截率将降至 3% 以下

使用我们平台的团队都有一个共同的模式:一旦共享了可靠性层,添加新市场就变成了配置更改,而不是一次 sprint。有趣的问题从“为什么这个又挂了”变成了“我们下一步应该添加哪个门户网站”。

坦率地说,存在一个限制:需要登录会话的房地产门户网站(某些 MLS 系统、某些仅限代理人查看的页面)需要在请求基础设施之上进行账号管理。这是一个我们不解决的独立问题,如果有人声称他们能解决却不解释如何解决,你不应该相信他们。

核心启示

房地产是少数几个数据陈旧不仅是麻烦,更是产品失败的行业之一。时尚网站上一周前的价格只是轻微的尴尬。而在热门市场中,一周前的房源信息意味着你的用户刚刚咨询了一套在周二就已经售出的房子。

但在这场竞争中获胜的团队并不是拥有最多数据源的团队。而是那些不再为每个新门户网站重复构建相同的 proxy 和反爬虫管道的团队。一旦共享了这一层,有趣的工作就开始了:数据质量、新鲜度 SLA、跨门户去重、价格趋势分析。这才是产品。底层的一切都应该正常运行。