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

使用R语言ralger库爬取图片时遇URL scheme不支持错误求助

解决ralger库爬取图片时"scheme not supported in URL"错误

问题原因

报错里的图片URL格式为//upload.wikimedia.org/wikipedia/commons/thumb/3/38/Robert_Jardillier_1932.jpg/220px-Robert_Jardillier_1932.jpg,这种省略了http/https协议头的相对URL,R的download.file函数无法识别,导致爬取失败。

解决方案

方案1:手动处理URL后下载

先获取图片URL列表,补全协议头后再手动下载:

library(ralger)

setwd("C:/images")
link <- "https://fr.wikipedia.org/wiki/Robert_Jardillier"

# 获取目标页面所有jpg格式图片的URL
img_urls <- get_images(link, extn = "jpg")
# 给每个URL补全https协议头
img_urls_full <- paste0("https:", img_urls)

# 循环下载图片
for (url in img_urls_full) {
  download.file(url, destfile = basename(url), mode = "wb")
}

方案2:临时修改ralger的images_scrap函数

通过trace函数临时修改images_scrap内部的URL处理逻辑,自动补全协议头:

library(ralger)

# 编辑images_scrap函数的内部代码
trace(images_scrap, edit = TRUE)

在弹出的编辑器中,找到处理img_urls_f的代码段,添加一行补全协议的代码:

img_urls_f <- paste0("https:", img_urls_f)

修改后保存,再运行原有的images_scrap调用即可正常爬取。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 15:08:20