Mais códigos HTML e função readlines

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... 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

Bom, quanto ao que estudar, existe algum material pela net. Você chegou a fazer buscas por "Web scraping R"? No stack overflow tem soluções interessantes também que da pra copiar: http://stackoverflow.com/search?q=scrape+R Aqui na lista ja teve algumas mensagens sobre isso, vc pode dar uma olhada nas funções ja comentadas. Por exemplo aqui: http://r-br.2285057.n4.nabble.com/R-br-OT-Distancias-entre-municipios-td3964... Mas quais informações vc quer extrair? Uma lista com Empresa Partida Destino e Preço? Bem espero estar ajudando. Em 28 de agosto de 2012 00:00, Paulo Nogueira <paulons@gmail.com> escreveu:
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...
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@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.
-- Grato Augusto C. A. Ribas Site Pessoal: http://augustoribas.heliohost.org Lattes: http://lattes.cnpq.br/7355685961127056

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... ") # 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@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...
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@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

Henrique, não conhecia essa possibilidade via Internet explorer. Bacana, vou testar. Em tempo, o que seria "uma instância" e porque só é possível no Windows/Explorer? Alguma questão relacionada à segurança da informação ou coisa do gênero? Apenas curiosidade mesmo. Abraços, Paulo Nogueira Starzynski Em 30 de agosto de 2012 23:36, Henrique Dallazuanna <wwwhsd@gmail.com>escreveu:
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... ")
# 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@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...
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@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
_______________________________________________ R-br mailing list R-br@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.

Paulo, É possível no Win, pois é uma tecnologia desenvolvida pela Microsoft [1] (COM). Com isto é possível você ter uma interface entre aplicativos, criando uma instância por exemplo do Internet Explorer, Excel, entre vários outros. [1] http://en.wikipedia.org/wiki/Component_Object_Model Abs 2012/8/31 Paulo Nogueira <paulons@gmail.com>
Henrique, não conhecia essa possibilidade via Internet explorer. Bacana, vou testar.
Em tempo, o que seria "uma instância" e porque só é possível no Windows/Explorer? Alguma questão relacionada à segurança da informação ou coisa do gênero? Apenas curiosidade mesmo.
Abraços, Paulo Nogueira Starzynski
Em 30 de agosto de 2012 23:36, Henrique Dallazuanna <wwwhsd@gmail.com>escreveu:
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... ")
# 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@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...
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@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
_______________________________________________ R-br mailing list R-br@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.
_______________________________________________ R-br mailing list R-br@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

Tentei rodar vosso script mas não consegui baixar esta library(RDCOMClient), a mensgem diz que não está disponível para versão R15.1. Por acaso é exclusiva do Linux? Henrique, não conhecia essa possibilidade via Internet explorer. Bacana, vou testar. Em tempo, o que seria "uma instância" e porque só é possível no Windows/Explorer? Alguma questão relacionada à segurança da informação ou coisa do gênero? Apenas curiosidade mesmo. Abraços, Paulo Nogueira Starzynski Em 30 de agosto de 2012 23:36, Henrique Dallazuanna <wwwhsd@gmail.com> escreveu: 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...") # 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@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... 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@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
participantes (4)
-
Augusto Ribas
-
Henrique Dallazuanna
-
Mauro Sznelwar
-
Paulo Nogueira