Shiny App R - Очистка и Ошибка
Я создаю блестящее приложение на R и пытаюсь удалить из Интернета информацию о выбранном пользователем Pokemon, но продолжаю сталкиваться с проблемой "Ошибка: проблема с сертификатом SLL" при попытке использовать read_html()
УИ:
sidebarPanel(
ui <- fluidPage(
selectInput(inputId = "pokemon1", 'Choose a Pokémon:', c(Pokemon$Name)))),
mainPanel(
verbatimTextOutput("value"))
А затем Сервер:
server <- function(input, output) {
output$value <- renderPrint({
pokemon <- input$pokemon1
URLpokemon <- paste(c("https://bulbapedia.bulbagarden.net/wiki/", pokemon,"_(Pok%C3%A9mon)"), collapse="")
# Read and parse HTML file
pokemonSummary1 <- URLpokemon%>%
read_html() %>% # R please help me read this HTML code
html_nodes("p")%>% # type of HTML object
.[[1]]%>%
html_text()
pokemonSummary2 <- URLpokemon%>%
read_html() %>% # R please help me read this HTML code
html_nodes("p")%>% # type of HTML object
.[[2]]%>%
html_text()
pokemonSummary3 <- URLpokemon%>%
read_html() %>% # R please help me read this HTML code
html_nodes("p")%>% # type of HTML object
.[[3]]%>%
html_text()
textAlmanac <- paste(c(pokemonSummary1,pokemonSummary2,pokemonSummary3), collapse=" ")
paste(textAlmanac)
})
Я использую этот набор данных: https://gist.github.com/armgilles/194bcff35001e7eb53a2a8b441e8b2c6
и я понятия не имею, откуда эта ошибка?
2 ответа
Так как вы пытаетесь соскрести с веб-сайта с помощью сертификата (HTTPS), вам нужно будет использовать пакет R httr
, Более подробное объяснение можно найти здесь: Как создать защищенные страницы в R (ссылки https) (используя readHTMLTable из пакета XML)?
Я использовал ваш код выше (слегка отредактированный) и вышел с этим минимальным рабочим примером, который работает на моей машине...
global.R
library(shiny)
library(magrittr)
library(rvest)
Pokemon <- read.csv('pokemon.csv', stringsAsFactors = FALSE)
ui.R
ui <- fluidPage(
sidebarPanel(
selectInput(inputId = "pokemon1", 'Choose a Pokemon:', c(Pokemon$Name))),
mainPanel(
verbatimTextOutput("value"))
)
server.R
server <- function(input, output) {
output$value <- renderPrint({
pokemon <- input$pokemon1
URLpokemon <- paste(c("https://bulbapedia.bulbagarden.net/wiki/", pokemon,"_(Pok%C3%A9mon)"), collapse="")
# Read and parse HTML file
pokemonSummary1 <- URLpokemon%>%
read_html() %>% # R please help me read this HTML code
html_nodes("p")%>% # type of HTML object
.[[1]]%>%
html_text()
pokemonSummary2 <- URLpokemon%>%
read_html() %>% # R please help me read this HTML code
html_nodes("p")%>% # type of HTML object
.[[2]]%>%
html_text()
pokemonSummary3 <- URLpokemon%>%
read_html() %>% # R please help me read this HTML code
html_nodes("p")%>% # type of HTML object
.[[3]]%>%
html_text()
textAlmanac <- paste(c(pokemonSummary1,pokemonSummary2,pokemonSummary3), collapse=" ")
paste(textAlmanac)
})
}
надеюсь, это поможет