[R-br] Função readLines parando ao encontrar erro

Henrique Dallazuanna wwwhsd em gmail.com
Domingo Janeiro 22 15:13:48 BRST 2012


use a função tryCatch:

urlBase<-"http://www.prefeitura.sp.gov.br/cidade/secretarias/cultura/"
url<-c(paste(urlBase,"bma/",sep=''),
       paste(urlBase,"bibliotecas/monteiro_lobatoooooo/",sep=''),

 paste(urlBase,"bibliotecas/bibliotecas_bairro/bibliotecas_a_l/afonso_schmidt_/",sep=''))


for(i in 1:3)
  print(tryCatch(readLines(url[i], encoding="UTF-8"), error = invisible,
warning = invisible)[10])

2012/1/22 Paulo Nogueira <paulons em gmail.com>

> Ola a todos.
>
> estou usando a função readLines para baixar em looping uma série de
> códigos fonte de páginas web.
> Se por algum motivo a função não consegue acessar uma determinada página
> (mesmo o endereço estando certo) todo o processo é paralisado.
> Como eu posso fazer o processo continuar até o fim, mesmo encontrando
> alguns erros de acesso no meio do caminho?
>
> O programa é grande, mas para exemplificar criei o código abaixo que
> acessa 3 páginas da web e imprime a décima linha do código fonte.
>
> urlBase<-"http://www.prefeitura.sp.gov.br/cidade/secretarias/cultura/"
> url<-c(paste(urlBase,"bma/",sep=''),
>        paste(urlBase,"bibliotecas/monteiro_lobatoooooo/",sep=''),
>
> paste(urlBase,"bibliotecas/bibliotecas_bairro/bibliotecas_a_l/afonso_schmidt_/",sep=''))
>
>
> for(i in 1:3)
>   print(readLines(url[i], encoding="UTF-8")[10])
>
> Reparem que o segundo endereço está errado e por isso a função retorna
> erro e não acessa a terceira url, parando o processo.
> Como evitar isso?
>
> Abraços
> Paulo Nogueira Starzynski
>
>
>
>
>
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
> código mínimo reproduzível.
>



-- 
Henrique Dallazuanna
Curitiba-Paraná-Brasil
25° 25' 40" S 49° 16' 22" O
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20120122/4ae33faa/attachment.html>


Mais detalhes sobre a lista de discussão R-br