强制内容类型 image/* only download.file R

Force content type image/* only download.file R

我正在从 googlesheet 中的 link 下载一些图片,问题是其中一些 link 会重定向到其他 [=30] =] 例如。 google 驱动或传输大文件,尽管如此,R 尝试下载某些内容并以内容类型结束 'text/html; ...' 而不是告诉我它发现错误或没有可下载的内容,我需要一种方法来告诉 R,如果你能识别内容类型 'image/*' 然后下载,否则弹出错误或告诉我。那是因为在练习结束时,我需要知道哪些 link 给了我空文件,以便更正它们。

这是一些内容类型为 'image/*' 的代码以及我需要下载的内容

e = 'https://kanu.vteximg.com.br/arquivos/ids/155806/Alimento-Agility-Gold-Grandes-Adultos-para-perro-1_1.jpg'
f = 'https://barranquilla.gruposotillo.com/wp-content/uploads/2016/12/rosa-veuve.png'
download.file(url = e,'name.jpg',mode = 'wb')
download.file(url = f,'name.jpg',mode = 'wb')

预期行为

还有一些带有 link 的代码,我需要将其识别为 'bad' 而不是下载

a = 'https://www.google.com/url?sa=i&url=https%3A%2F%2Fsupermercadocomunal.com%2Flicores%2F4369-tequila-jose-cuervo-reposado-375-ml-7501035010284.html&psig=AOvVaw2CyVcs9npcsOt9IZuG2s1g&ust=1592092231256000&source=images&cd=vfe&ved=0CAIQjRxqFwoTCMjO6fG7_ekCFQAAAAAdAAAAABAJ'
c = 'http://tbf.me/a/BbF0Ud'
d = 'https://drive.google.com/drive/folders/1-puT-0__ZXkEcKJpZQQPZuu4rrdNSwCC?usp=sharing'
download.file(url = a,'name.jpg',mode = 'wb')
download.file(url = c,'name.jpg',mode = 'wb')
download.file(url = d,'name.jpg',mode = 'wb')

我需要识别为错误的链接:

您可以使用 httr 库在 R 中获取 link 的内容。说这是你的 link:

a <- "http://norwegianarts.org.uk/wp-content/uploads/2015/09/NBM-Immortal-copyright-Nuclear-Blast-e1443452460395-1440x640.jpg"

然后,通过使用 httr 的 get() 函数,您将获得 link 内容:

example <- GET(a)

这将 return 一个 json,在 R 中呈现为列表,您只需移动到您希望的部分,在本例中必须是 $content。