使用地图抓取400页

时间:2019-05-17 12:50:13

标签: rvest purrr

我是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")

0 个答案:

没有答案