Проверьте, доступен ли HTML - PullRequest
       4

Проверьте, доступен ли HTML

2 голосов
/ 18 октября 2011

Я хотел бы знать, как я могу проверить, доступен ли HTML. Если это не так, я хотел бы контролировать возврат, чтобы избежать остановки скрипта по ошибке. Пример:

arq <- readLines("www.pageerror.com.br")
print(arq)

Ответы [ 2 ]

5 голосов
/ 18 октября 2011

Альтернатива - 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)
}

Бит silent = TRUE подавляет сообщение об ошибках (если оставить значение по умолчанию FALSE, тогда R сообщит об ошибке, но не прервет сценарий). Мы обертываем потенциально вызывающий ошибки вызов функции в try(...., silent = TRUE), при этом suppressWarnings() используется для подавления предупреждений. Затем мы проверяем класс возвращаемого объекта arq и, если он наследуется от класса "try-error", мы знаем, что страница не может быть извлечена, и выдаем сообщение, указывающее на это. В противном случае мы можем напечатать arq.

0 голосов
/ 18 октября 2011

?tryCatch 'Нуфф сказал.<- За исключением, очевидно, нет, потому что ткач страницы требует больше символов в ответе.Итак, «Если курица с половиной откладывает яйцо с половиной за полтора дня, сколько яиц откладывают девять кур за девять дней?»Хорошо, достаточно долго. </p>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...