无法保存 – 从R中的rvest生成的xml_document
发布时间:2020-12-16 23:49:47 所属栏目:百科 来源:网络整理
导读:read_html函数生成一个xml_document,我想保存,稍后加载它来解析它. 问题是加载xml_document后,其中没有html. library(rvest)library(magrittr)doc - read_html("http://www.example.com/")doc %% html_node("h1") %% html_text 我得到:[1]“示例域” 但是,
read_html函数生成一个xml_document,我想保存,稍后加载它来解析它.
问题是加载xml_document后,其中没有html. library(rvest) library(magrittr) doc <- read_html("http://www.example.com/") doc %>% html_node("h1") %>% html_text 我得到:[1]“示例域” 但是,当我首先保存xml_document doc对象并再次加载它时,似乎所有内容都已清除. save(doc,file=paste0(getwd(),"/example.RData")) rm(doc) load(file=paste0(getwd(),"/example.RData")) doc %>% html_node("h1") %>% html_text 我明白了:错误:没有匹配 或者当我运行doc时,我得到:{xml_document}一个空的xml_document. 还有一种情况是,当我运行文档时,在加载它之后,我收到一条消息,表明RStudio已停止工作. 我在两台不同的Windows机器上试过它,遇到了同样的问题. sessionInfo() R version 3.3.0 (2016-05-03) Platform: x86_64-w64-mingw32/x64 (64-bit) Running under: Windows 7 x64 (build 7601) Service Pack 1 locale: [1] LC_COLLATE=English_United Kingdom.1252 LC_CTYPE=English_United Kingdom.1252 [3] LC_MONETARY=English_United Kingdom.1252 LC_NUMERIC=C [5] LC_TIME=English_United Kingdom.1252 attached base packages: [1] stats graphics grDevices utils datasets methods base other attached packages: [1] magrittr_1.5 rvest_0.3.1.9000 xml2_0.1.2 loaded via a namespace (and not attached): [1] httr_1.1.0 R6_2.1.2 tools_3.3.0 Rcpp_0.12.5
我找到了一个解决方法,效率不高但是它完成了工作.
逻辑是将xml_document保存为字符串,并使用read_html再次读取它. library(rvest) library(magrittr) doc <- read_html("http://www.example.com/") # convert it to character doc %<>% as("character") save(doc,"/example.RData")) doc %>% read_html %>% html_node("h1") %>% html_text (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |