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

如何用rvest/RSelenium识别HTML节点与CSS选择器爬取房产页面数据?

识别网页目标数据HTML节点与CSS选择器的最简方法

不用额外工具,直接用浏览器自带的开发者工具就能搞定,步骤如下:

  • 直接定位目标节点:打开目标页面后,右键点击你要抓取的房产数据(比如房价、卧室数量、占地面积),选择「检查」,浏览器会自动跳转到开发者工具的Elements面板,高亮显示对应的数据所在HTML节点,直接跳过手动查找节点的麻烦。
  • 一键复制CSS选择器:在Elements面板里,右键选中的目标节点,选择「复制」→「复制选择器」(Chrome)或「复制CSS路径」(Firefox),直接得到可用于rvest/RSelenium的CSS参数。如果复制的选择器层级太长,可手动简化——保留带有网站专属标识的类名(比如该页面里的p24_price、p24_featureDetails这类前缀统一的类),去掉冗余的父节点层级,保证选择器唯一指向目标元素。
  • 快速验证选择器有效性:切换到开发者工具的Console面板,输入document.querySelectorAll("你复制的CSS选择器"),回车后查看返回结果:如果只返回你需要的目标元素,说明选择器可用;如果返回多个,就结合父节点的类名缩小范围(比如用.p24_featureContainer .p24_featureDetails代替单独的.p24_featureDetails)。

结合rvest的实操示例

library(rvest)
# 目标页面URL
target_url <- "https://www.property24.com/for-sale/fourways-gardens/sandton/gauteng/5857/110846340/"
# 读取页面
page <- read_html(target_url)
# 抓取房价(假设复制的CSS选择器是.p24_price)
property_price <- page %>% html_element(".p24_price") %>% html_text()
# 抓取房型参数(比如卧室数量,选择器为.p24_feature:nth-child(1) .p24_featureDetails)
bedroom_count <- page %>% html_element(".p24_feature:nth-child(1) .p24_featureDetails") %>% html_text()

如果遇到rvest无法抓取的动态渲染内容(比如滚动加载的数据),用RSelenium时同样可以用上述方法获取的CSS选择器,通过findElement(using = "css selector", value = "你的选择器")定位元素。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 01:12:12