如何从 R 中的 url 下载多个 jpeg 文件?

问题描述 投票:0回答:1

我需要在下面的 url 中下载多个文件名中包含“*b13”的 .jpg 文件。谁能帮我列出文件名并将它们下载到文件夹中? https://www.data.jma.go.jp/mscweb/data/himawari/list_ha2.html

install.packages("jpeg")
library(jpeg)
install.packages("here")
library(here)
myurl <- "https://www.data.jma.go.jp/mscweb/data/himawari/list_ha2.html"
for (i in 1:138) { 
myurl <- paste(myurl[i,1], sep = "")
z <- tempfile()
download.file(myurl,z,mode="wb")
pic <- readJPEG(z)
writeJPEG(pic,here("Q:\\R_himawari"), paste("image", "i", ".jpg") 
          file.remove(z)
                 }
r image loops url satellite-image
1个回答
0
投票

您可以使用attribute = value CSS 选择器通过子字符串“b13”选择感兴趣的

href
[href*=b13]
目标
href
属性包含字符“b13”。使用 url_absolute 来完成源图像文件的路径。然后下载这些文件。
i
可以来自循环,不应该是硬编码的字符串/字符“i”。

install.packages("jpeg")
library(jpeg)
install.packages("here")
#library(here)
library(magrittr)
library(rvest)


myurl <- "https://www.data.jma.go.jp/mscweb/data/himawari/list_ha2.html"

links <- read_html(myurl) %>%
  html_elements("table [href*=b13]") %>%
  html_attr("href") %>%
  url_absolute(myurl)

for (i in seq_along(links)) {
  z <- tempfile()
  download.file(links[i], z, mode = "wb")
  pic <- readJPEG(z)
  # writeJPEG(pic, paste0(Q:/R_himawari/", "image_", i, ".jpg")
  writeJPEG(pic, paste0("C:/Users/User/DestinationFolder", "/image_", i, ".jpg"))
  file.remove(z)
}
© www.soinside.com 2019 - 2024. All rights reserved.