gpt4 book ai didi

使用 rvest 进行网页抓取时出现 R 内存问题

转载 作者:行者123 更新时间:2023-12-01 05:02:08 25 4
gpt4 key购买 nike

我正在使用 rvest在 R 中进行网页抓取,我遇到了内存问题。我有一个 28,625 x 2 的字符串数据框,名为 urls包含指向我正在抓取的页面的链接。框架的一行包含两个相关的链接。我想生成一个 28,625 x 4 的数据框 Final从链接中抓取的信息。一条信息来自连续第二个链接,其他三个来自第一个链接。三条信息的 xpath 以字符串形式存储在向量 xpaths 中。 .我正在使用以下代码执行此操作:

data <- rep("", 4 * 28625)

k <- 1

for (i in 1:28625) {

name <- html(urls[i, 2]) %>%
html_node(xpath = '//*[@id="seriesDiv"]/table') %>%
html_table(fill = T)

data[k] <- name[4, 3]

data[k + 1:3] <- html(urls[i, 1]) %>%
html_nodes(xpath = xpaths) %>%
html_text()

k <- k + 4

}

dim(data) <- c(4, 28625)
Final <- as.data.frame(t(data))

它工作得很好,但是当我打开任务管理器时,我看到我的内存使用量一直在单调增加,并且在大约 340 次迭代后目前为 97%。我想启动该程序并在一两天内返回,但在工作完成之前我的所有 RAM 都将耗尽。我对 R 如何分配内存进行了一些研究,并且我已尽力预先分配内存并就地修改,以防止代码制作不必要的副本等。

为什么这会占用大量内存?我能做些什么来解决它吗?

最佳答案

Rvest 已更新以解决此问题。看这里:

http://www.r-bloggers.com/rvest-0-3-0/

关于使用 rvest 进行网页抓取时出现 R 内存问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31999766/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com