无法保存 – 从R中的rvest生成的xml_document

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念
xml文件介绍及使用
xml编程(一)-xml语法
XML文件结构和基本语法
第2章 包装类
XML入门的常见问题(二)
Java对象的强、软、弱和虚引用
JS解析XML文件和XML字符串详解
java中枚举的详细使用介绍
了解Xml格式
XML入门的常见问题(四)
深入SQLite多线程的使用总结详解
PlayFramework完整实现一个APP(一)
XML和YAML的使用方法
XML轻松学习总节篇