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

使用rvest抓取房源页面仅获单张图片,如何获取全部链接?

解决rvest抓取全部房源图片链接的问题

问题原因

你的代码仅提取了所有img标签的src属性,但该页面的缩略图采用懒加载机制,真实图片链接存储在data-src属性中(而非src,src仅为占位图),且缩略图集中在特定容器节点下,需要精准定位才能获取全部链接。

修正后的抓取代码

library(tidyverse)
library(rvest)

url <- "https://clasipar.paraguay.com/inmuebles/propiedades-rurales/feedlot-de-107-hectareas-a-90-km-de-asuncion-71526"

# 抓取所有缩略图+主图的完整链接
photos <- url %>%
  read_html() %>%
  # 定位缩略图容器,提取懒加载的真实链接
  html_nodes(".gallery-thumbs img") %>%
  html_attr("data-src") %>%
  # 追加主图链接
  c(., url %>% read_html() %>% html_node(".gallery-main img") %>% html_attr("src")) %>%
  # 过滤空值
  discard(is.na)

# 查看结果
print(photos)

下载图片到独立文件夹

# 创建专属文件夹(已存在则不报错)
dir.create("property_photos", showWarnings = FALSE)

# 循环下载所有图片
walk(photos, function(img_url) {
  # 提取图片文件名
  img_name <- basename(img_url)
  # 下载到目标文件夹
  download.file(img_url, file.path("property_photos", img_name), mode = "wb")
})

关键说明

  1. 先通过浏览器开发者工具(F12)查看页面结构:缩略图容器类为.gallery-thumbs,真实链接存在data-src属性;主图容器类为.gallery-main,链接直接在src属性中。
  2. 若遇到其他类似网站,需先确认图片元素的属性名和节点位置,再调整html_nodes和html_attr的参数。

内容的提问来源于stack exchange,提问作者Funkeh-Monkeh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 03:31:22