使用rvest进行网页抓取时遇到了一个奇怪的问题。
我取消了以下名称:"Abdichter/in EFZ"
,起初看起来很正常。但是,当我将文件写入csv时,我发现字母之间是“-”。在Excel中,该词看起来像这样:Ab-dich-ter/in EFZ
。
所以我做了一个str_split(x, "")
,发现字符串实际上看起来像这样:
c("A", "b", "", "d", "i", "c", "h", "", "t", "e", "r", "/", "i", "n", " ", "E", "F", "Z")
我试图从字符串中取出空字符串,但是我没有处理。我尝试过:
my_string <- str_split(my_string , "")
然后
paste0(my_string[my_string != ""])
但这没有帮助。
因此,我想知道:
编辑:这是webpage。
这是我得到字符串的方式:
library(rvest)
read_html("https://berufskunde.com/ausbildungsberufe/ausbildung-abdichter.html", encoding = "UTF-8") %>%
html_nodes(".section") %>%
html_nodes(".text-rot") %>%
html_text()
答案 0 :(得分:4)
您正在观察的字符串不是空字符串,而是一个SOFT HYPHEN(U + 00AD)字符。应该只在单词断行时才显示它,但是一些编辑者不能正确处理它,这就是为什么当您检查CSV时可能会显示它的原因。
无论如何,您可能都希望将其从字符串中删除:
str = gsub('\U00AD', '', str)