【发布时间】:2018-11-03 05:23:01
【问题描述】:
我在 R 中工作,试图从 www.baseball-reference.com 中获取多个玩家的一些统计数据。我已经能够从网站上的特定页面中抓取其他元素,但是在从所有玩家统计页面上出现的特定表格中抓取时遇到了问题。表格 id 是“batting_value”,页面上显示为表格标题的节点标题是“Player Value--Batting”。
这是一个示例页面:
https://www.baseball-reference.com/players/b/brownro02.shtml
我有兴趣从“Player Value--Batting”表的底行抓取“PA”值。
我尝试了inspect > copy xpath,在上面的示例网址中,我得到了xpath。
//*[@id="batting_value"]/tfoot/tr/td[3]
但是当我尝试使用该路径进行抓取时...
library(dplyr)
library(rvest)
xpath <- '//*[@id="batting_value"]/tfoot/tr/td[3]'
tables <- read_html(url)
pa <- tables %>%
html_node(xpath = xpath) %>%
html_text()
pa
[1] NA
看起来 API 甚至没有找到节点:
tables %>%
html_node(xpath = xpath)
{xml_missing}
<NA>
为什么html_node 没有找到这个节点,我该如何从 Player Value--Batting 表中抓取这个值?
【问题讨论】:
-
请编辑您的代码并删除所有
>,以便其他人更容易复制和粘贴
标签: r xpath web-scraping rvest