Web Scraping в Excel, как веб-сайты в R - PullRequest
0 голосов
/ 15 октября 2018

У меня есть следующий веб-сайт 1 , который похож на лист Excel, где мы можем отфильтровать некоторые значения, чтобы получить приведенный ниже результат таблицы.Очевидно, это не похоже на извлечение стандартной страницы HTML.Я пытаюсь извлечь все результаты комбинации автоматически.Мы должны вставить год (Ano), месяц (Mes), класс потребления (DescClassConsumo) и диапазон напряжения (Faixa de Tensão) и извлечь таблицу, которая появляется ниже.Я попытался использовать следующий код:

rm(list = ls())
#install.packages("rvest")
library(rvest)

url <- paste0("http://relatorios.aneel.gov.br/_layouts/xlviewer.aspx?id=/RelatoriosSAS/RelSAMPClasseConsNivel.xlsx&Source=http%3A%2F%2Frelatorios%2Eaneel%2Egov%2Ebr%2FRelatoriosSAS%2FForms%2FAllItems%2Easpx&DefaultItemOpen=1")

#Reading the HTML code from the website
webpage <- read_html(url)

#Using CSS selectors to scrap the rankings section
rank_data_html <- html_nodes(webpage,'.cv-nwl')

Результат rank_data_html равен нулю, но это значение, которое я хочу извлечь в соответствии с SelectorGadget.

У вас есть несколько советов

1 Ответ

0 голосов
/ 15 октября 2018

Вы можете попробовать функцию, подобную этой:

main <- function(url) {
    x <- read_html(url) # URL is accepted and read_html() parses the page contents
    x <- html_table(x) # Page's html table selected
    x <- data.table(x[[1]]) # Converts html table to data.table
    return(x)
}

Затем выберите ту часть таблицы данных, которую вы хотите!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...