检查html是否可用

Dio*_*ogo 2 r

我想知道如何检查html是否可用.如果不是,我想控制返回以避免错误地停止脚本.例如:

arq <- readLines("www.pageerror.com.br")
print(arq)
Run Code Online (Sandbox Code Playgroud)

Rei*_*son 5

另一种选择是try()- 使用起来比使用起来更简单,trycatch()但不是很有用.您可能还需要禁止警告,因为R将报告无法解析地址.

你想在你的脚本中想要这样的东西:

URL <- "http://www.pageerror.com.br"
arq <- try(suppressWarnings(readLines(con <- url(URL))), silent = TRUE)
close(con) ## close the connection
if(inherits(arq, "try-error")) {
    writeLines(strwrap(paste("Page", URL, "is not available")))
} else {
    print(arq)
}
Run Code Online (Sandbox Code Playgroud)

silent = TRUE位禁止报告错误(如果将其保留为默认值FALSE,则R将报告错误但不会中止脚本).我们将潜在的错误提升函数调用包装起来try(...., silent = TRUE),suppressWarnings()用于抑制警告.然后我们测试返回对象的类,arq如果它继承自类,"try-error"我们知道无法检索页面并发出指示这样的消息.否则我们可以打印arq.