在网页抓取中插入空白值中的NA

时间:2016-04-24 15:00:20

标签: r web-scraping na

我正在努力将一些数据写入数据框,并且我得到一些空字段,而我宁愿选择NA。我已经尝试过na.strings,但要么把它放在错误的地方,要么就是没有工作,我试图从一行到另一行开始编写任何空白,但是没有工作。

htmlpage <- read_html("http://www.gourmetsleuth.com/features/wine-cheese-pairing-guide")
sugPairings <- html_nodes(htmlpage, ".meta-wrapper")
suggestions <- html_text(sugPairings)
suggestions <- gsub("\\r\\n", '', suggestions)

如果将空白字段添加到数据框中,或者在添加之前,如何将空白字段分出来。

1 个答案:

答案 0 :(得分:2)

rvest::html_text内置了修剪选项设置trim=TRUE。 完成后,您可以使用例如ifelse测试空字符串(=="")或使用nzchar

我满了你可以这样做:

html_nodes(htmlpage, ".meta-wrapper") %>% html_text(trim=TRUE) %>% ifelse(. == "", NA, .)

或者这个:

res <- html_nodes(htmlpage, ".meta-wrapper") %>% html_text(trim=TRUE)
res[!nzchar(res)] <- NA_character_

@Richard Scriven改进:

html_nodes(htmlpage, ".meta-wrapper") %>% html_text(trim=TRUE) %>% replace(!nzchar(.), NA)