【发布时间】:2019-08-08 16:17:59
【问题描述】:
我在尝试抓取新闻网站时收到错误消息。我查了一下,网站第32页坏了。我想跳过错误并继续抓取其余的网址。
我尝试了 TryCatch 函数来避免链接断开,但由于我对 R 很陌生,所以我不知道如何正确编写代码。我应该用那个函数包装 read_html 吗?如果有,怎么做?
url_silla <- 'https://lasillavacia.com/buscar/farc?page=%d'
map_df(0:573, function(i) {
pagina <- read_html(sprintf(url_silla, i, '%s', '%s', '%s', '%s'))
print(i)
data.frame(titles = html_text(html_nodes(pagina,".col-sm-12 h3")),
date = html_text(html_nodes(pagina, ".date.col-sm-3")),
category = html_text(html_nodes(pagina, ".category.col-sm-9")),
tags = html_text(html_nodes(pagina, ".tags.col-sm-12")),
link = paste0("https://www.lasillavacia.com",str_trim(html_attr(html_nodes(pagina, "h3 a"), "href"))),
stringsAsFactors=FALSE)
}) -> noticias_silla
这是错误。非常感谢您的帮助!
[1] 31
Error in open.connection(x, "rb") : HTTP error 500.
Called from: open.connection(x, "rb")
【问题讨论】:
-
上一篇文章有帮助吗? stackoverflow.com/q/12193779/5325862
标签: r web-scraping try-catch rvest