[R-br] WebScraping - Como passar informações ao site antes do readLines

Paulo Nogueira paulons em gmail.com
Quarta Fevereiro 15 10:14:33 BRST 2012


Henrique, obrigado pelas dicas.
Uso Ubuntu mas vou tentar adaptar o código que me passou e estudar o que
posso fazer com ele.
Muito obrigado.

Paulo NS

Em 14 de fevereiro de 2012 23:24, Henrique Dallazuanna
<wwwhsd em gmail.com>escreveu:

> Paulo,
>
> Esses casos ocorrem pois o conteúdo é carregado dinamicamente (via Ajax,
> jQuery, etc..), portanto o conteúdo não fica disponível no Source Code da
> página.
>
> Uma alternativa pode ser utilizado abaixo, ou ainda alternativas como
> http://maplink.com.br/transito/sao-paulo-sp que carrega o coteudo
> diretamente na página.
>
> ## Para Windows
> library(RDCOMClient)
> library(XML)
>
> ieApp <- COMCreate("InternetExplorer.Application")
>
> ieApp[['Visible']] <- TRUE
> ieApp$Navigate("http://www.maplink.com.br")
>
> ieApp$Document()$Body()$OuterHTML()
>
> 2012/2/13 Paulo Nogueira <paulons em gmail.com>
>
>> www.maplink.com.brHenrique, dei mais uma mexida aqui e ainda não resolvi
>> meu problema.
>> Talvez eu não tenha sido claro na pergunta, então vou mudar o exemplo.
>>
>> Quando acesso o site Maplink <http://www.maplink.com.br> aparece um mapa
>> da cidade de São Paulo (minha localidade) e um box na direita com a
>> informação de quantos quilômetros de congestionamento a cidade apresenta no
>> momento (aliás, estamos com 300km às 13:40!).
>>
>> url<-url('http://maplink.com.br/',"rt")
>> map<-readLines(url)
>> grep('Km',map)
>>
>> Ao rodar o código acima o R importa o código fonte da página, que não
>> contem o valor 300.
>> Ao abrir o Chrome ou Firefox e utilizar a opção "Inspecionar Elemento" é
>> possível encontrar o 300 no meio do código.
>> Será possível importar no R o código HTML que eu vejo no inspecionar
>> elemento? Isso seria suficiente e resolveria uma séria de questões que
>> tenho.
>>
>> Alguém já fez algo semelhante a isso ou pode dar a dica de algum caminho,
>> mesmo sem o R?
>>
>> Abraços,
>> Paulo
>>
>> Em 31 de janeiro de 2012 21:43, Henrique Dallazuanna <wwwhsd em gmail.com>escreveu:
>>
>>> Paulo,
>>>
>>> Veja a função postForm do pacote RCurl, pois ela faz exatamente o post
>>> em formulários web.
>>>
>>> 2012/1/31 Paulo Nogueira <paulons em gmail.com>
>>>
>>>> Boa tarde R-Br.
>>>> Mais uma vez peço a vocês uma orientação de caminho para descobrir como
>>>> solucionar problemas relacionados a web scraping.
>>>>
>>>> Hoje consigo ler códigos HTML de ṕáginas atráves do readLines e depois
>>>> extrair os dados que me interessam utilizando funções como grep, gsub e
>>>> regexpr. Evolui nisso e tenho conseguido resultados bastante interessantes.
>>>> O problema é que nem sempre o que é exibido no navegador, está disponível
>>>> no código fonte da página.
>>>>
>>>> Por exemplo, a página inicial do site Webmotors (
>>>> http://www.webmotors.com.br/index.html) apresenta um box de pesquisa.
>>>> Escolhendo, na página, os campos marca = Chevrolet, modelo = Astra, estado
>>>> = AM e cidade = Manaus e clicando em BUSCAR, encontro esse resultado:
>>>>
>>>> http://www.webmotors.com.br/Webmotors/Compra/carrosResultado/carros-resultado.aspx?marca=2&modelo=1042&descrModelo=ASTRA&precoinicial=&precofinal=&uf=AM&cidade=Manaus&anoInicial=&anoFinal=&anuncionovos=N&anunciousados=U&revend=S&part=S&concessionaria=S&Ordem=OP&orig=S
>>>>
>>>> E assim consigo extrair com o R as informações dos veículos Astra a
>>>> venda em Manaus.
>>>> Porém, como posso fazer para o R informar ao site que desejo fazer essa
>>>> busca? Gostaria de automatizar essa parte.
>>>> Sei que na URL resultado basta trocar os campos como &modelo=1042 ou
>>>> marca=2, etc... mas também não sei quais são os possíveis valores para
>>>> esses campos.
>>>>
>>>> Ressalto que esse problema é um exemplo. Gostaria de aprender a fazer
>>>> chamada às funções (acredito que são as .js) da página para construir as
>>>> páginas com os resultados e então importar com o readLines para guardar os
>>>> dados de meu interesse. Espero ter sido claro no questionamento.
>>>> Agradeço qualquer ajuda.
>>>>
>>>> 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
>>>
>>> _______________________________________________
>>> 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.
>>>
>>
>>
>> _______________________________________________
>> 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
>
> _______________________________________________
> 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.
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20120215/fc5d1023/attachment.html>


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