Na onda do sucesso dos nossos Unboxings, vamos testar um novo formato de live
Dessa vez, vamos tentar fazer um web scraper relâmpago de algum site da web. Nossa ideia é começar do zero e tentar fazer o máximo possível para chegar numa base de dados organizada em no máximo 2 horas. Se der tempo, fazemos um pacote, dashboard, modelo estatístico e o que mais der para fazer com a base.
E claro, queremos sugestões de vocês. Enviem links de sites que vocês gostariam de scrapear ou ver a gente scrapeando.
Regras:
De preferência, um serviço público.
O site não pode ter uma API nem ter seus dados publicados em plataformas como https://dados.gov.br ou https://brasil.io (ou seja, o scraping precisa fazer sentido)
Não pode ter Captcha (nós até conseguimos resolver, mas não no tempo da live)
De preferência, não deve ser um site gerado dinamicamente (se você não souber o que é isso, ignore essa regra)
Esses dados do site do DNIT (http://servicos.dnit.gov.br/dadospnct/ContagemContinua) informam o volume de tráfego de veículos em diversas rodovias do Brasil. Eles até fornecem, após 4 ou 5 cliques (clica no mapa, clica na estrada, clica no ano…), aparecem informações difusas e uma tabela (que pode ser feito o download em Excel). De qualquer maneira, para se obter todos os dados, seria necessário fazer um processo manual de copia, cola, clica no botão, para vários estados e estradas.
Adorei a proposta. Inclusive, tem uma questão que tentei responder com web scraping, mas não consegui finalizar. A questão é a seguinte.
Será que a frase "Nada é tão permanente quanto um programa temporário do governo" se aplica as medidas provisórias (MP) do Brasil?
Para isso julguei adequado avaliar o tempo de duração das medidas provisórias do governo. Não encontrei API com essas informações, mas achei os dados numa página estática do planalto, sem captcha e, infelizmente, com um html com furos de padronização durante os vários anos de atualização.
Não consegui capturar a data de término da MP dentro dos links de conversão/revogação da medida. Para isso, acho que seria necessário um regex que capturasse a última data do texto de revogação da MP ou a data da conversão em lei, mas talvez vcs podem ter alguma ideia melhor de como responder essa questão ^^
A Curso-R tinha feito um post sobre a raspagem da página de situação dos mananciais da SABESP. Desde então a SABESP reformulou a página, portanto o antigo código não funciona mais.
A sugestão: http://mananciais.sabesp.com.br/
*Edit: Como algumas pessoas tem curtido essa mensagem recentemente, achei bom adicionar que a Curso-R fez esse scraper em uma live, e o código foi adaptado no pacote mananciais. *
Repassando mensagem do nosso caríssimo Alfredo José A. R. Neto
Athos, bom dia! Tudo bem? Eu trabalho com dados na área da Saúde e também trabalho com alguns dados de Farmacovigilância. Hoje será a live do Web Scrapping, certo? Ainda não consegui entrar no fórum para fazer a sugestão de site. Um site que gostaria de sugerir é o www.VigiAccess.org É um site que buscamos pelo nome do princípio ativo em inglês (ceftriaxone, por exemplo) e ele traz as reações adversas aos medicamentos. Só que não exporta uma tabela para poder comparar medicamentos da mesma classe e ver quem traz mais reações adversas e por qual sistema do corpo humano ou por tipo de reação. Então, seria de grande utilidade poder obter estes dados que é de uma instituição vinculada à OMS
Carmen estava olhando aqui e acho que o que você precisa é pegar com uma regex, estou certo? Com essa regex (por exemplo, algo como (?<=dataLayer)\\[[^\\]]+\\], precisa testar) vc pega a parte que está dentro dos [ ] e utiliza jsonlite::fromJson() para ler o que tem dentro.