[R-br] Mais códigos HTML e função readlines

Henrique Dallazuanna wwwhsd em gmail.com
Quinta Agosto 30 23:36:25 BRT 2012


Paulo,

Esse é um comportamento das páginas que utilizam carregamento dinâmico
(Ajax, jQuery, etc..).

Uma solução que utilizo neste casos é usar uma instância do Internet
Explorer (logo funciona apenas no Windows):

# Carregando Pacotes
library(RDCOMClient)
library(XML)

# Criando Instancia
ieApp <- COMCreate("InternetExplorer.Application")

# Acessando a página
ieApp$Navigate("
http://www.skyscanner.com.br/passagens-aereas/saoa/slz/121002/130409/tarifas-aereas-de-sao-paulo-destino-sao-luis-em-outubro-2012-e-abril-2013.html
")

# Código da Página
srcHTML <- htmlTreeParse(ieApp$Document()$Body()$OuterHTML(), asText =
TRUE, useInternalNodes = TRUE)

# Partidas e Chegadas
cbind(unlist(xpathApply(srcHTML, "//span[@class='sta sta-dep' and
@mode='flight']", xmlValue)),
      unlist(xpathApply(srcHTML, "//span[@class='sta sta-arr' and
@mode='flight']", xmlValue)))

2012/8/28 Paulo Nogueira <paulons em gmail.com>

> Pessoal, não sei se a lista se presta a esclarecer dúvidas como essa
> minha, mas pelo menos estou usando R para resolver os problemas. rs
>
> Ultimamente tenho trabalhado bastante com determinadas buscas na web
> para coletar dados e estruturá-los. Porém, como meus conceitos de web
> se restringem ao conhecimento de usuário, e não de desenvolvedor,
> acabo tendo alguns problemas.
> Vou exemplificar uma das minhas dificuldades com um problema prático:
>
> Utilizar readlines() e os pacores RCurl, XML, etc, para tratar o
> código fonte é algo que já faço até que bem. Mas problemas surgem
> quando o conteúdo que eu preciso extrair de informação não vem no
> código fonte?
> Vejam esse exemplo:
>
> http://www.skyscanner.com.br/passagens-aereas/saoa/slz/121002/130409/tarifas-aereas-de-sao-paulo-destino-sao-luis-em-outubro-2012-e-abril-2013.html
>
> Após carregar toda a busca, o site SkyScanner exibe os preços
> encontrados para o trecho São Paulo - São Luis.
> [1] No navegador Firefox ou Chrome, ao clicar em "Exibir Código
> Fonte", não aparecem as informações do vôos, apenas o código que
> estrutura a página.
> [2] Ao clicar em "Inspecionar Elemento" eu consigo analisar o código
> fonte do meu interesse.
> [3] Ao utilizar readlines passando o a url acima o R importa o código
> fonte [1] e não o [2], com as informações de interesse.
>
> Imagino que isso tenha a ver com as funções de javascript e coisas desse
> tipo...
> Alguém sabe contornar essa situação com o R? Se não, o que devo
> estudar para agilizar a busca dessa solução? Estou meio perdido nessa
> parte e agradeço ajudas de qualquer tipo. rs
>
> Peço desculpas se por acaso isso for muito off-topic.
> Abraços,
> Paulo Nogueira
> _______________________________________________
> 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/20120830/9155b4e7/attachment.html>


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