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

如何用R语言Rvest包抓取网页中的span元素信息?

解决方案

先修正代码里的基础问题,再调整选择器就能提取目标内容:

  1. 变量名统一:你定义的页面变量是page_outside,但后续调用时用了page,先把变量名对齐。
  2. 选择器调整:通过目标div的class定位父容器,再选中内部的span标签。

完整代码示例

library(rvest)
library(stringr) # 可选,用于处理非断空格

# URL模板
url = "https://www.finn.no/realestate/homes/search.html?page=%d&sort=PUBLISHED_DESC"

# 读取页面
page <- read_html(sprintf(url, 1))

# 提取目标span内容:通过父div的class组合定位,再选中span
elements <- page %>% 
  html_nodes(".col-span-2.font-bold span") %>% 
  html_text()

# 提取结果
elements[1] # 输出面积:"103 m²"
elements[2] # 输出价格:"8 650 000 kr"

# 可选:将价格里的非断空格(&nbsp;)替换为普通空格
clean_price <- str_replace_all(elements[2], "\u00A0", " ")

选择器说明

  • .col-span-2.font-bold:用父div的两个class组合定位,避免和页面其他元素冲突。如果需要更精准,也可以用完整的class链(注意带冒号的class要加反斜杠转义,比如sm\\:mt-4):.col-span-2.mt-16.sm\\:mt-4.flex.justify-between.sm\\:block.space-x-12.font-bold
  • 末尾加span表示选中该div下的所有span子元素,刚好对应你需要的两个内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 11:55:33