Como comprar um carro usado com o R

 

By Prof. Dr. Steven Dutt Ross

Introdução

Estou começando o processo de compra de um carro usado. Como costumo tomar essas decisões fazendo uma pesquisa sobre o assunto, escrevi um código R para raspar dados de websites e construir um banco de dados. Acredito que esse processo pode ser replicado para comprar passagens aéreas, apartamentos, e outros elementos que envolvam a coleta de dados para reduzir a assimetria de informações. Acredito que saber o preço de outros carros com características semelhantes reduz essa assimetria.

A ideia deste texto surge a partir de diversos cursos e palestras sobre o R que fiz em 2018. Um ótimo exemplo disso é o minicurso realizado pela Karla Esquerre e Adelmo Filho sobre Web scraping no III Seminário Internacional de Estatística com R. Também recomendo o minicurso do CURSO-R sobre Web scraping.

Seria a Ciência de Dados um nome bonito para a Estatística?

Existe muita discussão sobre ciência de dados ser apenas um nome bonito para a estatística. Seria a mesma coisa com um outro nome? Recentemente assisti uma palestra da Jenny Bryan sobre o assunto e fiquei convencido que Não. Entre os argumentos colocados, Jenny Bryan coloca uma lista (incompleta) de ações que um cientista de dados consegue fazer e um estatístico não. Tive que concordar com ela. Sendo um estatístico, frequentemente vi a minha inabilidade para:

  1. Raspar dados da web,
  2. Solicitar dados por meio de uma API,
  3. Analisar dados em formato de lista,
  4. Entender formatos como o JSON ou GeoJSON,
  5. Utilizar dados no formato XML,
  6. Ler um simples banco de dados do formato SQL, entre outras coisas são comuns para um cientista de dados.

Como graduado em Estatística, a minha maior preocupação sempre foi o modelo, os seus pressupostos e o procedimento para o teste de hipóteses.

Mas isso não quer dizer que não podemos aprender um pouco de ciência de dados. Esse artigo é justamente para compartilhar o que aprendi sobre raspagem de dados, porque acredito que este é um ótimo exemplo de como alguém pode usar o R de uma forma funcional para a tomada de decisões simples (como comprar um carro usado). Ainda estou no processo de aprendizado. Assim, quero deixar claro que…

fonte: Jkust

fonte: Jkust

Parte 1: Identificando a estrutura do site

Para fazer a escolha do carro que vou comprar estou buscando vou raspar dados do site do vivalocal com o pacote Rvest. Ao fazer um levantamento da estrutura do site, percebi que o site tem uma estrutura do tipo:

SITE BÁSICO / NÚMERO DA PAGINA / COMPLEMENTO DO SITE

Onde: SITE BÁSICO = http://search.vivalocal.com/auto-veiculo-usado/rio-de-janeiro/t+

COMPLEMENTO DO SITE = ?lb=new&search=1&start_field=1&keywords=……

Exemplos da estrutura:

http://search.vivalocal.com/auto-veiculo-usado/rio-de-janeiro/t+2?lb=new&search=1&start_field=1&keywords=&cat_1=40&geosearch_text=Rio+de+Janeiro+-+RJ&searchGeoId=74&sp_common_price%5Bstart%5D=&sp_common_price%5Bend%5D=&sp_vehicules_mileage%5Bstart%5D=&sp_vehicules_mileage%5Bend%5D=&sp_common_year%5Bstart%5D=&sp_common_year%5Bend%5D=&sp_vehicules_energy=

http://search.vivalocal.com/auto-veiculo-usado/rio-de-janeiro/t+19?lb=new&search=1&start_field=1&keywords=&cat_1=40&geosearch_text=Rio+de+Janeiro+-+RJ&searchGeoId=74&sp_common_price%5Bstart%5D=&sp_common_price%5Bend%5D=&sp_vehicules_mileage%5Bstart%5D=&sp_vehicules_mileage%5Bend%5D=&sp_common_year%5Bstart%5D=&sp_common_year%5Bend%5D=&sp_vehicules_energy=

Identificar essa estrutura será uma das etapas mais importantes no processo de raspagem de dados.

Também descobri que o site tem 19 páginas.

Com a ferramenta selectorgadget, pude identificar os elementos do site que estou interessado. Um exemplo do uso do selectorgadget pode ser vista na figura abaixo: