我正试图从法国下议院网站的两页上刮掉所有法案。这些页面涵盖 2002-2012 年,每页代表不到 1,000 张钞票。
为此,我getURL
通过这个循环进行刮擦:
b <- "http://www.assemblee-nationale.fr" # base
l <- c("12","13") # legislature id
lapply(l, FUN = function(x) {
print(data <- paste(b, x, "documents/index-dossier.asp", sep = "/"))
# scrape
data <- getURL(data); data <- readLines(tc <- textConnection(data)); close(tc)
data <- unlist(str_extract_all(data, "dossiers/[[:alnum:]_-]+.asp"))
data <- paste(b, x, data, sep = "/")
data <- getURL(data)
write.table(data,file=n <- paste("raw_an",x,".txt",sep="")); str(n)
})
有什么办法可以优化这里的getURL()
功能吗?我似乎无法通过传递async=TRUE
选项来使用并发下载,这每次都会给我同样的错误:
Error in function (type, msg, asError = TRUE) :
Failed to connect to 0.0.0.12: No route to host
有任何想法吗?谢谢!