R 如何处理重定向?

R 如何处理重定向?,r,redirect,web-scraping,rvest,R,Redirect,Web Scraping,Rvest,在过去的几周里,我已经为瑞士的几个新闻网站建立了一个webscraper。他们中的大多数工作,但一页给我很多重定向,我不知道该怎么办 这是我的代码: library(rvest) library(tidyverse) library(dplyr) api20min<- read_xml('https://api.20min.ch/rss/view/1') urls_20min <- api20min %>% html_nodes('link') %>% html_text

在过去的几周里,我已经为瑞士的几个新闻网站建立了一个webscraper。他们中的大多数工作,但一页给我很多重定向,我不知道该怎么办

这是我的代码:

library(rvest)
library(tidyverse)
library(dplyr)
api20min<- read_xml('https://api.20min.ch/rss/view/1')
urls_20min <- api20min %>% html_nodes('link') %>% html_text()
urls_20min <- urls_20min[-c(1:2)]
zeit_20min <- api20min %>% html_nodes('pubDate') %>% html_text()
titel_20min <- api20min %>% html_nodes('title') %>% html_text()
titel_20min <- titel_20min[-c(1:2)]
df20min_titel_zeit_link <- data.frame(urls_20min,zeit_20min,titel_20min)
df20min_text <- do.call(rbind, lapply(urls_20min, function(x) {
  paste0(read_html(x) %>% html_nodes('.story_text p') %>% html_text(), collapse = "\n\n")
}))
df_20min <- data.frame(df20min_titel_zeit_link,df20min_text)
库(rvest)
图书馆(tidyverse)
图书馆(dplyr)
api20min%html\u文本()
URL\u 20分钟%html\u文本()
titel_20分钟%html_节点('title')%%>%html_文本()

titel_20min如果将lappy转换为循环,您会发现是
url_20min
中位置23处的url导致了问题。这是一个促销链接,因此重定向。您只需
grepl
输出其中包含“promo”的任何URL,即可正常工作:

库(rvest)
图书馆(tidyverse)
图书馆(dplyr)
api20min%html\u文本()
URL\u 20分钟%html\u文本()

titel_20分钟它给你这个错误的页面是哪一页?我花了一段时间,但现在我过滤掉了,它工作了,谢谢!
str(df_20min)
#> 'data.frame':    111 obs. of  4 variables:
#>  $ urls_20min  : Factor w/ 112 levels "https://beta.20min.ch/story/269082903107?legacy=true",..: 44 78 93 49 81 76 91 70 95 4 ...
#>  $ zeit_20min  : Factor w/ 111 levels "Fri, 10 Apr 2020 03:00:00 GMT",..: 98 89 61 90 105 99 109 84 82 83 ...
#>  $ titel_20min : Factor w/ 112 levels "  : Die Bilder des Tages",..: 44 48 55 76 16 20 6 17 112 63 ...
#>  $ df20min_text: Factor w/ 87 levels "","\n\n","\n\n(20 Minuten)",..: 62 44 48 71 64 43 83 39 30 1 ...