我正在尝试从basketballreference.com中提取一列数据,这一点非常特别:
http://www.basketball-reference.com/teams/ATL/2016.html
使用selectorGadget我能够突出显示我想要的页面部分,然后它给我一个参数来放入html_nodes函数。但是,我试图提取玩家的名字,但是当我复制并粘贴了selectorGadget的输出时,它会给我一个名称所包含的链接。我想知道是否有人知道如何使它与实际文本匹配,而不是它包含的链接。例如,列表中的第一个名字是Kent Bazemore。我希望它返回Kent Bazemore,但它正在捕获底层的html:
{xml_node} 'a href="/players/b/bazemke01.html"'
如果有人对如何清理它有任何建议我会非常感谢你的帮助。谢谢。
答案 0 :(得分:0)
获取节点只是第一步。提取文本是第二种方法 - 在本例中为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"