我想检查多个网站的状态(约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会话。