我想从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),""))
}
答案 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格式读取它。