утилизация 400 страниц с использованием карты - PullRequest
0 голосов
/ 17 мая 2019

Я новичок в R. Я пытаюсь создать набор данных из газеты, чтобы иметь возможность выполнять анализ тидитекста.

Используя некоторую онлайн-справку, я собрал ссылки на 400 статей для их редакционных статей. Теперь я хочу получить текст с редакционных страниц. Но я получаю следующую ошибку: Ошибка в open.connection (x, "rb"): ошибка HTTP 403.

Я пытался удалить ссылки на все статьи, опубликованные в Интернете. Это 400.

library(rvest)
library (purrr)

dawnedlnk <- lapply(paste0('https://www.dawn.com/authors/2677/editorial/', 1:20), 
                    function(url){
                      read_html(url) %>% 
                        html_nodes(".m-2") %>%
                        html_nodes(".story__link") %>%
                        html_attr("href")
                    })

edlk <- unlist (dawnedlnk)

elpages <- edlk %>% map(read_html)

Я хочу отобразить все 400 страниц. Они получают заголовки и текст с каждой страницы. Я попробовал этот подход на пяти ссылках, чтобы он работал, но я не могу отобразить 400 страниц.

Если я смогу отобразить 400 страниц, то я бы ожидал повторить следующий код, который помог мне получить 20 редакционных постов.

library(rvest)
library(purrr)
library(tidyverse)

url <- "https://www.dawn.com/authors/2677/editorial"

edit <- read_html(url)
el <- edit %>%
  html_nodes(".m-2") %>%
  html_nodes(".story__link") %>%
  html_attr("href") %>% 
  xml2::url_absolute("http://dawn.com") 

elpages <- edlk %>% map(read_html)

eltitle = elpages %>% 
    map_chr(. %>% 
              html_node(".story__title") %>% 
              html_text()
    )

  elauthor = elpages %>% 
    map_chr(. %>% 
              html_node(".story__byline") %>% 
              html_text()
    )

  elpubtime = elpages %>% 
    map_chr(. %>% 
              html_node(".story__time") %>% 
              html_text()
    )

eltext = elpages %>% 
  map_chr(. %>% 
            html_node(".modifier--blockquote-center-narrow p") %>% 
            html_text()
  )

dawned <- tibble (author = elauthor, title = eltitle, text = eltext, pubtime = elpubtime, links = el, paper = "Dawn")
...