我试图从 basketballreference.com 中提取一列数据,这个特别:
http://www.basketball-reference.com/teams/ATL/2016.html
使用选择器小工具,我可以突出显示我想要的页面部分,然后它为我提供了放置 int html_nodes 函数的参数。但是,我正在尝试提取玩家的名称,但是当我复制并粘贴 selectorGadget 的输出时,它给了我名称包含的链接。我想知道是否有人知道如何让它与实际文本匹配,而不是它包含的链接。例如,列表中的第一个名字是肯特·巴泽莫尔。我希望它返回肯特·巴兹莫尔,但它正在捕获底层 html:
{xml_node} 'a href="/players/b/bazemke01.html"'
如果有人对如何清理这个问题有任何建议,我将不胜感激。谢谢。
获取节点只是第一步。提取文本是第二种方法 - 在这种情况下,html_text()
.
在这种情况下,我会使用 xpath
表达式来获取玩家名称:
library(rvest)
u <- "http://www.basketball-reference.com/teams/ATL/2016.html"
u %>%
read_html() %>%
html_nodes(xpath = "//*[@id='roster']/tbody/tr/td[@data-stat='player']/a") %>%
html_text()
[1] "Kent Bazemore" "Tim Hardaway" "Kirk Hinrich" "Justin Holiday" "Al Horford"
[6] "Kris Humphries" "Kyle Korver" "Shelvin Mack" "Paul Millsap" "Mike Muscala"
[11] "Lamar Patterson" "Dennis Schroder" "Mike Scott" "Thabo Sefolosha" "Tiago Splitter"
[16] "Edy Tavares" "Jeff Teague"