gpt4 book ai didi

R:使用 rvest 下载图像

转载 作者:行者123 更新时间:2023-12-04 14:25:28 26 4
gpt4 key购买 nike

我正在尝试下载 png通过 R 来自安全站点的图像。

为了访问我使用的安全站点 Rvest效果很好。

到目前为止,我已经提取了 png 的 URL。图片。

如何使用 rvest 下载此链接的图像?
rvest 之外的函数由于没有权限,函数返回错误。

目前的尝试

library(rvest)
uastring <- "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36"
session <- html_session("https://url.png", user_agent(uastring))
form <- html_form(session)[[1]]
form <- set_values(form, username = "***", password="***", cookie_checkbox= TRUE)
session<-submit_form(session, form)
session2<-jump_to(session, "https://url.png")

## Status 200 using rvest, sucessfully accsessed page.
session
<session> https://url.png
Status: 200
Type: image/png
Size: 438935

## Using download.file returns status 403, page unable to open.
download.file("https://url.png", destfile = "t.png")
cannot open: HTTP status was '403 Forbidden'

试过 readPNGdownload.file在 url 上,由于无权从经过身份验证的安全站点下载,两者都失败了(错误:403),因此我首先使用 rvest。

最佳答案

这是一个将 R Logo 下载到当前目录的示例。

library(rvest)
url <- "https://www.r-project.org"
imgsrc <- read_html(url) %>%
html_node(xpath = '//*/img') %>%
html_attr('src')
imgsrc
# [1] "/Rlogo.png"

# side-effect!
download.file(paste0(url, imgsrc), destfile = basename(imgsrc))

编辑

由于涉及到身份验证,因此当然需要 Austin 提出的使用 session 的建议。试试这个:
library(rvest)
library(httr)
sess <- html_session(url)
imgsrc <- sess %>%
read_html() %>%
html_node(xpath = '//*/img') %>%
html_attr('src')
img <- jump_to(sess, paste0(url, imgsrc))

# side-effect!
writeBin(img$response$content, basename(imgsrc))

关于R:使用 rvest 下载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36202414/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com