用R下载png / jpg

时间:2012-03-11 13:32:28

标签: r

我想从this site下载所有图片,但在下载照片后,所有图片都已损坏。我应该怎么做才能成功下载它们?

我的代码:

library(XML)
dir.create('c:/photos')
urls<-paste("http://thedevilsguard.tumblr.com/page/",1:1870,sep="")
doc<-htmlParse(urls[1])
links<-unique(unlist(xpathApply(doc,'//div[@class="timestamp"]/a',xmlGetAttr,'href')))
for (i in 1:length(links)){
  doc2<-htmlParse(links[i])
  link<-xpathApply(doc2,'//div[@class="centre photopage"]//p//img',xmlGetAttr,'src')[[1]][1]
  download.file(link,paste("C:/photos/",basename(link),""))
}

2 个答案:

答案 0 :(得分:16)

所以它看起来你在Windows下。下载二进制文件时,必须将模式指定为二进制文件,例如

download.file(link, ..., mode = 'wb')

请参阅?download.file了解详情。

答案 1 :(得分:1)

首先,尝试下载一个。这样做:

link = "http://29.media.tumblr.com/tumblr_m0q2g8mhGK1qk6uvyo1_500.png"
download.file(link,basename(link))

这有用吗?

我注意到它是PNG而不是JPEG,所以也许你试图以JPEG格式读取它。