【问题标题】:encoding issues with rvest, " " appearing instead of a space in character stringsrvest 的编码问题,字符串中出现“”而不是空格
【发布时间】:2016-10-20 14:06:41
【问题描述】:

我正在尝试使用 rvest 从棒球参考网站上抓取一张桌子。我的代码是:

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() 中尝试了不同的编码参数,但没有任何变化。我试着不理会编码,只是把'Â'去掉,但有同样的问题。任何帮助都会很棒,在此先感谢! 附言。长期潜伏的第一次海报,如果我错过了一些明显的东西,对不起

【问题讨论】:

    标签: r encoding utf-8 rvest


    【解决方案1】:

    已编辑以修复 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]])
    

    【讨论】:

    • 谢谢,但这只是给了我一个空列表。这真的对你有用吗?
    • 在上面编辑以修复我指定 css 类的方式(应该是“.stats_table”而不是基本的“.table”。
    • 再次感谢!这是该css选择器的正确数据,但只要字符串中应该有空格,我仍然会得到:“”。我想知道这是不是本地的东西。我在 64 位 windows 10 上,你用什么操作系统?
    猜你喜欢
    • 2010-11-30
    • 2012-10-10
    • 2015-04-14
    • 2011-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-02
    相关资源
    最近更新 更多