Я пытаюсь очистить 'http://www.phl.org/Pages/Flight-Information.aspx#/Arrivals' веб-страницу в R, чтобы получить расписание прибытий (а затем, в конечном счете, отправление) полетов в международном аэропорту Филадельфии. Это код, который я написал до сих пор:web scraping aspx веб-страница с R
require("rvest")
require("dplyr")
url1 <- "http://www.phl.org/Pages/Flight-Information.aspx#/Arrivals"
url2 <- '//*[@id="ctl00_pageWrapper"]/main/div[3]/table'
Trial_data <- url1 %>% read_html() %>% html_nodes(xpath=url2) %>% html_table() %>% data.frame()
Однако это скребет только заголовки таблицы, а не сама таблица данных. Я проверил элементы веб-страницы с HTML-кода веб-сайта и использовал Xpath в своем скрипте. В качестве пробной версии я использовал один и тот же фрагмент кода, чтобы очистить таблицу википедии, и он работал отлично. Я чувствую, что проблема связана с веб-страницей .aspx.
действительно оценил бы любую помощь по этому поводу!
Насколько я вижу, содержимое таблицы динамически заполняется с помощью AngularJs, поэтому эти данные могут быть недоступны без запуска и получения результата вызова AJAX. – kieraf
rvest просто захватывает HTML, поэтому данные не загружаются. Вы можете использовать RSelenium для загрузки страницы (запуска любых необходимых скриптов в процессе), а затем rvest для синтаксического анализа, но это больше работает. Однако, учитывая эти конкретные данные, я уверен, что есть API где-то, который предоставляет эти же данные в более удобном для использования формате, поэтому немного поиска может быть лучшим следующим шагом. – alistaire
[Вот API.] (Https://github.com/CityOfPhiladelphia/phl-airport-data) – alistaire