Я хочу очистить статистику с этой страницы:
url <- "http://www.pgatour.com/players/player.20098.stuart-appleby.html/statistics"
В частности, я хочу получить данные из таблицы под снимком головы Стюарта. Он озаглавлен «Стюарт Эпплби - СТАТИСТИКА PGA TOUR 2015».
Я пытаюсь использовать rvest
в сочетании с гаджетом выбора (http://selectorgadget.com/).
url_html <- url %>% html()
url_html %>%
html_nodes(xpath = '//*[(@id = "playerStats")]//td')
«Должен ли» получить таблицу без, например, строки вверху, которая гласит: «Обзор — Ранг — Дополнительная статистика».
url_html <- url %>% html()
url_html %>%
html_nodes(xpath = '//*[(@id = "playerStats")] | //th//*[(@id = "playerStats")]//td')
«Должен» дать мне таблицу со строкой «Обзор — Ранг — Добавить статистику».
Ни то, ни другое.
Очевидно, я полный новичок, когда дело доходит до парсинга веб-страниц. Когда я нажимаю «просмотреть источник» для этой веб-страницы, данные, содержащиеся в таблице, отсутствуют.
В исходном коде, где думаю должна начинаться таблица, есть такой фрагмент кода:
<script id="playerStatsTourTemplate" type="text/x-jquery-tmpl">
{{each(t, tour) tours}}
{{if pgatour.players.shouldProcessTour(tour.tourCodeLC)}}
<div class="statistics-head">
<h2 class="title">Stuart Appleby - <b>${year} STATS
.
.
.
Итак, похоже, что таблица хранится где-то (Json? Jquery? Javascript? Применимы ли эти термины здесь?), Который не доступен для функции html()
. Есть ли способ использовать rvest
для получения этих данных? Существует ли эквивалент rvest
для захвата данных, которые хранятся таким образом?
Спасибо.
You shall not use or permit or facilitate others to use PGATOUR.com by automated electronic processes, robots, spiders, scrapers, webcrawlers, or other computer programs that monitor, copy or download data or other content found on or accessed through PGATOUR.com, including without limitation real time scoring, video, audio, statistics, polling, or data content, whether current or archival.
- person hrbrmstr   schedule 08.04.2015