You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Fotocasa网页特定位置抓取目标房源详情链接?

解决Fotocasa马德里租房页面房源链接抓取问题

Hey there! Let's work through how to grab those property detail links you need from Fotocasa's Madrid rental page. Here's what was tripping you up, plus a solid fix:

为什么你的初始尝试没拿到目标链接?

  • 错误的节点定位:你用的XPath指向的是span元素(就是显示"Leer más"的文本标签),而房源详情链接其实存在于这个span的父级a标签的href属性里。所以你只能拿到那个span文本,自然取不到链接。
  • 泛抓取无效:直接抓取所有<a>标签的href会得到大量无关链接(比如导航、广告链接),而且Fotocasa的页面结构里,房源链接有特定的标识,泛抓根本筛不出你要的内容。

正确的抓取方案

我们需要精准定位到房源卡片对应的<a>标签,提取它的href属性,再拼接成完整可访问的URL。

步骤1:定位正确的节点

通过浏览器开发者工具可以看到,Fotocasa的每个房源卡片里,详情链接的<a>标签都带有re-Card-link类名。用这个类名定位比硬编码的绝对XPath靠谱得多——绝对XPath很容易因为页面布局微调失效。

步骤2:调整后的R代码

library(httr)
library(rvest)

# 目标页面URL
url <- "https://www.fotocasa.es/es/alquiler/viviendas/madrid-capital/todas-las-zonas/l/181"

# 模拟浏览器UA池(你原来的逻辑保留,这里补充了几个示例UA)
desktop_agents <- c(
  "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",
  "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.1 Safari/605.1.15",
  "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0"
)

# 发送请求
x <- GET(url, add_headers('user-agent' = desktop_agents[sample(1:length(desktop_agents), 1)]))

# 解析页面并提取链接
property_links <- x %>% 
  read_html() %>% 
  html_nodes("a.re-Card-link") %>%  # 精准定位房源链接的a标签
  html_attr("href")  # 提取href属性值

# 拼接完整URL(页面返回的是相对路径)
full_property_links <- paste0("https://www.fotocasa.es", property_links)

# 查看前几个结果
head(full_property_links)

代码说明

  • html_nodes("a.re-Card-link"):只筛选带有re-Card-link类的<a>标签,这些就是对应房源详情页的链接容器。
  • html_attr("href"):提取<a>标签里的链接路径。
  • 拼接域名是因为页面返回的href是相对路径(比如/es/alquiler/vivienda/...),加上域名才能得到可以直接访问的完整链接。

额外小贴士

  • 避免绝对XPath:像你之前用的那种长串绝对XPath,只要网站调整页面结构(比如新增一个导航栏、调整卡片布局)就会失效,用类名或相对XPath(比如//article[contains(@class, 're-Card')]/div/a)会更稳定。
  • 反爬注意事项:如果要批量抓取多页内容,记得添加请求延迟(比如Sys.sleep(2)),不要短时间内发送大量请求,避免被网站封禁IP。

内容的提问来源于stack exchange,提问作者user113156

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 17:42:47