用rvest编码问题,“”出现而不是字符串中的空格

时间:2016-06-19 02:52:20

标签: r encoding utf-8 rvest

我正在尝试使用rvest从baseball-reference.com上刮一张桌子。我的代码是:

url="http://www.baseball-reference.com/leagues/NL/2016-standard-batting.shtml"
css=""#players_standard_batting.sortable.stats_table"
read_html(url) %>% html_node(css) %>% html_table()->nlbatting.raw

此时表格有点乱码,只要有空格就有“”。我试过了

nlbatting.raw %>% mutate(Name=repair_encoding(Name))->nlbatting.raw

这使得一切看起来都不错,但后来我的行为非常奇怪。例如:

 nlbatting.raw$Name[86]=="Yoenis Cespedes"
 FALSE

 gsub(" ","_",nlbatting.raw$Name[86])
 "Yoenis Cespedes"

我在read_html()尝试了不同的编码参数,但没有任何变化。我试着单独留下编码,只是用'Â'来解决问题。任何帮助都会很棒,提前谢谢! PS。很长一段时间潜伏第一次海报,对不起,如果我错过了一些明显的东西

1 个答案:

答案 0 :(得分:0)

编辑修复html节点(从" .class"到" .stats_table")。它对我来说很好。再试一次:

library(rvest)
url <- "http://www.baseball-reference.com/leagues/NL/2016-standard-batting.shtml"
data <- read_html(url) %>% html_nodes(".stats_table") %>% html_table()
head(data[[1]])
head(data[[2]])