我使用rvest
解析网站。我正在用这些小小的不间断空间撞墙。如何删除在解析的html文档中由
元素创建的空白?解析包含非破坏空间的html
library("rvest")
library("stringr")
minimal <- html("<!doctype html><title>blah</title> <p> foo")
bodytext <- minimal %>%
html_node("body") %>%
html_text
现在我已经提取正文:
bodytext
[1] " foo"
但是,我不能删除空白讨厌的一点!
str_trim(bodytext)
gsub(pattern = " ", "", bodytext)
'charToRaw'功能非常棒!好吧,我真的尝试过类似的东西。根据[这个答案](http://stackoverflow.com/questions/4515117/php-parsing-problem-nbsp-and-%C3%82),' '被解释为“”和“”。麻烦的是,虽然我可以将“”与正则表达式匹配,但我无法在空间中这样做。你的编码技巧没有帮助。原谅我不在这里复制这项工作;我无法在我的示例中获取“”以复制 – AndrewMacDonald 2014-12-01 21:21:51
如果您没有在变量上正确设置编码,则会看到“”。如果你使用'Encoding(bodytext)',你会得到什么?您也可以安全地将其设置为“latin1” – MrFlick 2014-12-01 21:25:28
'Encoding(bodytext)'返回'UTF-8',但是作为空格显示的内容不能与任何以空格为目标的表达式匹配,既不是'\\ s'也不是' [:space:]' – AndrewMacDonald 2014-12-01 21:43:28