如何将 HTML R 对象转换为字符?

How to convert an HTML R object to character?

这是我的可重现示例:

library(rvest)
page <- html("http://google.com")
class(page)
page
> as.character(page)
Error in as.vector(x, "character") : 
  cannot coerce type 'externalptr' to vector of type 'character'

如何将页面从 html class 转换为字符向量以便将其存储在某个地方?

像 html_text 或 html_attr 这样的 html 函数没有给我完整的源代码。我想存储它,以便以后可以使用 html().

重新加载它

谢谢。

直接保存到文本文件:

capture.output(page, file="file.html")

存储为字符串:

htmltxt <- paste(capture.output(page, file=NULL), collapse="\n")

或者,您可以只使用 XML 包中的 saveXML 来直接处理 HTML/XML 对象,而无需其他操作。

library(rvest)
library(XML)

pg <- html("http://dds.ec/")
saveXML(pg, "output.html")

as.character(page)替换为as(page, "character")