使用rvest进行webscraping时出现内存问题

使用rvest进行webscraping时出现内存问题,第1张

概述我在R中使用rvest进行webscrape,我遇到了内存问题.我有一个28,625乘2的字符串数据框,称为url,包含我正在抓取的页面的链接.框架的一行包含两个相关链接.我想生成一个28,625乘4的数据帧Final,并从链接中抓取信息.一条信息来自连续的第二条链接,另外三条来自第一条链接.三条信息的xpath作为字符串存储在向量xpath中.我使用以下代码执行此 *** 作: data <- rep( 我在R中使用rvest进行webscrape,我遇到了内存问题.我有一个28,625乘2的字符串数据框,称为url,包含我正在抓取的页面的链接.框架的一行包含两个相关链接.我想生成一个28,625乘4的数据帧Final,并从链接中抓取信息.一条信息来自连续的第二条链接,另外三条来自第一条链接.三条信息的xpath作为字符串存储在向量xpath中.我使用以下代码执行此 *** 作:

data <- rep("",4 * 28625)k <- 1for (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进行webscraping时出现内存问题全部内容,希望文章能够帮你解决使用rvest进行webscraping时出现内存问题所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1056018.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-25
下一篇2022-05-25

发表评论

登录后才能评论

评论列表(0条)

    保存