2017-06-12 31 views
0

我试图从basketballreference.com拉一列数据,这样一来是特别:使用SelectorGadget和RVest拉动底层的HTML,而不是文字我想捕捉

http://www.basketball-reference.com/teams/ATL/2016.html

使用selectorGadget我可以突出显示我想要的页面部分,然后它给了我把html intode函数放入int的参数。然而,我试图拉取玩家的名字,但是当我复制并粘贴selectorGadget的输出时,它给了我名字包含的链接。我想知道是否有人知道如何让它匹配实际的文本,而不是它包含的链接。例如,列表中的第一个名字是Kent Bazemore。我想它返回肯特·巴兹莫尔,而是它正在捕获底层的HTML:

{xml_node} 'a href="/players/b/bazemke01.html"' 

如果任何人有如何清洁了,我真的很感激帮助任何意见。谢谢。

回答

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"  
+0

谢谢你,这个完美工作 – gseelig