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

Lucas Barbosa lucasbcr em gmail.com
Sexta Fevereiro 17 18:20:26 BRST 2012


Paulo,
Eu abri agora a página e está com 533 km congestionados, mas não aparece
nenhum número 533 no html. Talvez esse 300 que você encontrou representava
outra coisa.
Eu fiz algo parecido para resolver o problema de calcular distâncias entre
cidades, mas foi com o Google Maps. Meu caso foi simples porque os valores
de interesse já estavam no html, mas a parte de congestionamento do maplink
parece estar só no java script mesmo.
Talvez você encontre essa informação no html de outro lugar desse site, vou
dar uma olhada aqui.
Att.,
Lucas Cusinato



Em 15 de fevereiro de 2012 10:14, Paulo Nogueira <paulons em gmail.com>escreveu:

> 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.
>>
>
>
> _______________________________________________
> 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/20120217/f5a05243/attachment.html>


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