在函数内部使用库cssApply
中的CSS
命令时,我发现了一些奇怪的行为。
基本上,每次调用该函数时,R都会使用额外的0.5Mb内存。由于我想使用该函数从大约20.000个网页中提取数据,因此R很快崩溃,因为它有内存问题。
以下是一些重现问题的示例代码:
library(CSS)
f <- function() {
url <- "http://www.kickstarter.com/projects/2049768676/schoolhaus-a4"
page.o <- readLines(url)
page <- htmlParse(page.o)
name <- cssApply(page, "#name", cssCharacter)
return(name)
}
x <- character(200)
for (i in 1:length(x)) {
x[i] <- f()
print(i)
flush.console()
}
首先我认为使用data.frame是问题,但后来我发现cssApply
是问题。如果我发表评论,内存使用率或多或少保持不变。
如果有人知道问题是什么,我会非常感谢他们的帮助。
非常感谢,
Dainis