相关疑难解决方法(0)

如何使用R中的getURL()优化抓取

我试图从法国下议院网站上的两页中删除所有账单.这些页面涵盖了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)
})
Run Code Online (Sandbox Code Playgroud)

有没有办法优化getURL()这里的功能?我似乎无法通过传递async=TRUE选项使用并发下载,这每次都给我同样的错误:

Error in function (type, msg, asError = TRUE)  : 
Failed to connect to 0.0.0.12: …
Run Code Online (Sandbox Code Playgroud)

curl r web-scraping

6
推荐指数
1
解决办法
3259
查看次数

使用R快速查询URL

嗨我要查询一个网站10000次我正在寻找一个真正快速的方式与R做

作为模板网址:

url <- "http://mutationassessor.org/?cm=var&var=7,55178574,G,A"
Run Code Online (Sandbox Code Playgroud)

我的代码是:

url  <- mydata$mutationassessorurl[1]
rawurl  <- readHTMLTable(url)
Mutator  <- data.frame(rawurl[[10]])

for(i in 2:27566) {
  url  <- mydata$mutationassessorurl[i]
  rawurl  <- readHTMLTable(url)
  Mutator  <- smartbind(Mutator, data.frame(rawurl[[10]]))  
  print(i)
}
Run Code Online (Sandbox Code Playgroud)

使用microbenchmark我有680毫秒的查询.我想知道是否有更快的方法来做到这一点!

谢谢

url benchmarking r

5
推荐指数
1
解决办法
985
查看次数

标签 统计

r ×2

benchmarking ×1

curl ×1

url ×1

web-scraping ×1