我一直在抄袭关于使用 XML 包将 html 表抓取到 R 数据框中的非常有用的响应,以从网络上抓取一些 html 并在 R 中使用它。
XML 包似乎非常彻底地转义文本字符串中的非字母字符。在 XML 或其他一些包中是否有一种简单的方法可以反转通过 XML 传递我的数据所做的部分/全部转义字符?我开始自己做,但在遇到像“代表华昆卡斯特罗”这样的案例后,我想“一定有更好的解决方案……”
只是为了清楚起见,使用 XML 包来解析这个 HTML
library(XML)
apos_str <- c("<b>Tim O'Reilly</b>")
apos_str.parsed <- htmlTreeParse(apos_str, error=function(...){})
apos_str.parsed$children$html[[1]][[1]]
会产生
<b>Tim O'Reilly</b>
理想情况下,我想要一个可以搜索它的函数或包
'
并将其变回
'<b>Tim O'Reilly</b>'
编辑为了澄清,从下面的评论中,我得到了如何针对撇号的特殊情况或我在数据中看到的任何其他字符执行此操作。我正在寻找的是一个有人更普遍地解决了这个问题的包。
到目前为止我所做的研究:
-阅读我可以在 XML文档中找到的关于转义的所有内容。
- 在 CRAN NLP 页面上寻找有前途的软件包。
- 在 SO 上搜索了“unescape [R]”和“reverse escape [R]”。无法取得任何进展,所以我想我会在这里提出问题。