2016-09-09 3 views
1

В прошлом я смог использовать readHTMLTable в R, чтобы вытащить статистику футбола. При попытке сделать это снова в этом году таблицы не отображаются, даже если они видны на веб-странице. Вот пример: http://www.pro-football-reference.com/boxscores/201609080den.htmКак читать прокомментированную таблицу HTML, используя readHTMLTable в R

Когда я просматриваю источник страницы, все таблицы закомментированы (что, как я подозреваю, поэтому readHTMLTable не нашел их).

Пример: поиск «team_stats» в исходном коде ...

<!-- 
    <div class="table_outer_container"> 
    <div class="overthrow table_container" id="div_team_stats"> 
    <table class="stats_table" id="team_stats" data-cols-to- freeze=1><caption>Team Stats Table</caption> 

Вопросы:

Как таблица закомментировать в источнике еще отображается в браузере?

Есть ли способ прочитать прокомментированные таблицы, используя readHTMLTable (или какой-либо другой метод)?

+0

возможно в сыром тексте перед разбором-'gsub'-вне '<- 'и' - -> '? – hrbrmstr

+1

Если это закомментировано, это уже не таблица, просто случайный текст. – Ouroborus

+0

Я также не думаю, что таблицы, которые, по вашему мнению, закомментированы, фактически прокомментированы. – hrbrmstr

ответ

4

Вы можете, на самом деле, возьмите его, если вы используете XPath comment() селектор:

library(rvest) 

url <- 'http://www.pro-football-reference.com/boxscores/201609080den.htm' 

url %>% read_html() %>%     # parse html 
    html_nodes('#all_team_stats') %>%  # select node with comment 
    html_nodes(xpath = 'comment()') %>% # select comments within node 
    html_text() %>%      # return contents as text 
    read_html() %>%      # parse text as html 
    html_node('table') %>%    # select table node 
    html_table()       # parse table and return data.frame 

##         CAR   DEN 
## 1   First Downs   21   21 
## 2  Rush-Yds-TDs  32-157-1  29-148-2 
## 3 Cmp-Att-Yd-TD-INT 18-33-194-1-1 18-26-178-1-2 
## 4  Sacked-Yards   3-18   2-19 
## 5  Net Pass Yards   176   159 
## 6   Total Yards   333   307 
## 7  Fumbles-Lost   0-0   1-1 
## 8   Turnovers    1    3 
## 9  Penalties-Yards   8-85   4-22 
## 10 Third Down Conv.   9-15   5-10 
## 11 Fourth Down Conv.   0-0   1-1 
## 12 Time of Possession   32:19   27:41 
Смежные вопросы