使用错误处理检查多个网址的网站状态

时间:2019-06-20 18:11:30

标签: r url lapply

我想检查多个网站的状态(约8,000个)。

我找到了一个很好的例子: checking validity of a list og urls using GET

This solution uses this code: 
websites <- read.table(header=T, text="website
1   www.msn.com
2   www.wazl.com
3  www.amazon.com
4 www.rifapro.com")
library(httr)
urls <- paste0(ifelse(grepl("^https?://", websites$website, ig=T), "", "http://"),
          websites$website)
lst <- lapply(unique(tolower(urls)), function(url) try(HEAD(url), silent = T))
names(lst) <- urls
sapply(lst, function(x) if (inherits(x, "try-error")) -999 else status_code(x))

但是,对于某些网站,这需要一段时间,例如如果我使用http://www.chewy.com而不是www.wazl.com。

以下是一些示例链接,如果我排除最后一个耐嚼链接,这些链接会很好用:

501 http://www.bedrockdata.com
502 http://www.beecroftortho.com
503 http://secure.beenevaluated.com
504 http://beercitizen.com
951 http://www.chewy.com

那是为什么?我的第一个想法是使用超时功能,但我不知道在哪里实现。我没有收到任何错误消息,代码只是无法完成,我必须重新启动R会话。

0 个答案:

没有答案