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)
    })
}

Я получаю следующую страницу

надеюсь, это поможет

Другие вопросы по тегам