【发布时间】:2019-08-23 10:04:51
【问题描述】:
我正在使用 json 来抓取多个 (1000) 链接的内容。但是,有些链接不能以 json 格式工作,因此没有要抓取的内容。因此,我的代码在找到其中一个链接时停止工作。
我尝试使用TryCatch 来避免错误,但它似乎不起作用
这是我正在使用的代码
library(jsonlite)
library(rvest)
lapply(links_jason[1:6], function(x) {
tryCatch(
{
json_data <- read_html(x) %>% html_text()%>%
jsonlite::fromJSON(.)%>%
select(1)
},
error = function(cond) return(NULL),
finally = print(x)
)
})
这是我遇到的问题
Debug location is approximate beacuse the source is not available
以下是我尝试抓取的链接的一些示例
链接 1、2 和 6 工作正常。 3、4和5需要避免
> head(links_jason)
[1] "https://lasillavacia.com/silla_llena_api/get?path=/contenido-nodo/68077&_format=hal_json"
[2] "https://lasillavacia.com/silla_llena_api/get?path=/contenido-nodo/57833&_format=hal_json"
[3] "https://lasillavacia.com/silla_llena_api/get?path=/contenido-nodo/56774&_format=hal_json"
[4] "https://lasillavacia.com/silla_llena_api/get?path=/contenido-nodo/56748&_format=hal_json"
[5] "https://lasillavacia.com/silla_llena_api/get?path=/contenido-nodo/56782&_format=hal_json"
[6] "https://lasillavacia.com/silla_llena_api/get?path=/contenido-nodo/64341&_format=hal_json"
我也尝试过使用没有结果的 if 语句。有人可以帮忙吗?谢谢!
【问题讨论】:
-
您好,请问您使用的是哪些软件包?
-
嗨,@Chelmy88
jsonlite,rvest, -
如果我查看您提供的第三个链接 (lasillavacia.com/silla_llena_api/get?path=/contenido-nodo/…),则该页面上没有任何内容。所以显然这不是 R 问题。你能检查一下链接吗?
标签: r json web-scraping rvest