【问题标题】:How to convert an HTML R object to character?如何将 HTML R 对象转换为字符?
【发布时间】:2015-03-15 07:28:14
【问题描述】:

这是我的可重现示例:

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 类转换为字符向量,以便将其存储在某处?

html_text 或 html_attr 之类的 html 函数并没有给我完整的源代码。我想存储它,以便以后用 html() 重新加载它。

谢谢。

【问题讨论】:

    标签: xml r rvest httr


    【解决方案1】:

    直接保存到文本文件:

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

    存储为字符串:

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

    【讨论】:

    • 谢谢,这似乎比水槽替代品更好。
    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-09-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-04-18
        • 2021-02-03
        • 2018-07-19
        相关资源
        最近更新 更多