OpenDevUFCG / laguinho-api

Onde todos os dados, pessoas e radiação da UFCG se encontram.
MIT License
28 stars 18 forks source link

Dados que necessitam de scraping, o que fazer? #23

Closed thayannevls closed 5 years ago

thayannevls commented 5 years ago

Alguns dados vão precisar de módulos que façam o scraping dos mesmos, ou apenas scripts simples. Por exemplo, se fizermos endpoint pros dados oficiais da UFCG, precisaremos de um módulo que baixe esses dados a cada período novo, os normalize e escreva em algum tipo de arquivo.

Módulos assim devem ficar na laguinho-api? Se ficar fora, como organizariamos isso, já que alguns dados provavelmente precisaram ser atualizados....

thayannevls commented 5 years ago

ping @JoseRenan @pedroespindula @RaylaMedeiros @LukeHxH @mateusoliveira2 @douglaslimaxx

@FannyVieira creio que isso seja parecido com seu projeto do analytics, pode dar uma luz?

RaylaMedeiros commented 5 years ago

Acho que fazer um script que baixe tudo como csv poupa muito trabalho, seria o ideal na verdade

thayannevls commented 5 years ago

Aqui no repositório geralmente colocamos os dados já organizados e ajeitados, a API apenas os ler sem fazer qualquer processo de normalização ou de conserto para extrair os dados.

O que acontece é que o mundo não é tão bonito assim... Alguns dados da UFCG vão precisar de algum módulo para extraí-los, organizá-los em tabelas ou JSONs, ou seja, toda a parte de extração do dado.

A discussão aqui foca em, como fazer isso?

RaylaMedeiros commented 5 years ago

Porque só nesses dados do link já da pra extrair muita informação, tipo, ver se o índice de matrículas ociosas aumentou ou diminui com o tempo

thayannevls commented 5 years ago

É verdade @RaylaMedeiros, esse script poderia ficar aqui na API mesmo? Ou aqui só teria os CSVs?

@JoseRenan tinha dado uma opinião sobre isso uma vez

mateusoliveira2 commented 5 years ago

Tem muita informação importante mesmo, mas o processo de scraping sem utilizar um script, por exemplo, como rayla falou, ficaria bem mais trabalhoso.

jadsonluan commented 5 years ago

Eu acho que temos que pensar em coesão. Focar em ter aplicações que façam uma coisa só, mas essa coisa bem feita, então acho que seria melhor que o laguinho atue como um banco de informações apenas e deixar a parte de scraping para outro repositório e o sistema de lá mesmo ficar responsável por mandar pro laguinho, se possível.

mateusoliveira2 commented 5 years ago

Talvez deixar separado seja uma boa, para não misturar e ficar apenas os CSV's aqui.

thayannevls commented 5 years ago

verdade, e também porque teremos vários tipos de dados que cada um tem seu scraping, não só esses da UFCG Dados Abertos. O problema é como manter o CSVs atualizados aqui sempre

JoseRenan commented 5 years ago

O que sugeri no discord é que independente de como tenha sido feito o scrapping, se for importante, a pessoa coloca o link na documentação do endpoint que expõe aqueles dados só pra fins de referencia

JoseRenan commented 5 years ago

O que sugeri no discord é que independente de como tenha sido feito o scrapping, se for importante, a pessoa coloca o link na documentação do endpoint que expõe aqueles dados só pra fins de referencia

Concordo sobre não ser finalidade do laguinho saber como o scrapping é feito

thayannevls commented 5 years ago

@JoseRenan E aqueles dados que mudam com o tempo? E precisam ser atualizados

thayannevls commented 5 years ago

Em relação a esses dados, era legal criarmos um repo pra isso, eu queria faz tempo e depois ter uma endpoint aqui

RaylaMedeiros commented 5 years ago

acho que o repositório que fizer o scrapping dos dados que tem que se preocupar em atualizar isso

JoseRenan commented 5 years ago

@JoseRenan E aqueles dados que mudam com o tempo? E precisam ser atualizados

Cai naquela questão de o pessoal que mantém laguinho é responsável por manter os dados? Tipo, no roadmap os dados são atualizados no repo do roadmap (o que tem pontos bons e ruins) eles tem de se preocupar em manter atualizado.

A gente tem de pensar em um jeito de deixar a contribuição pros dados flexível o suficiente pra quem se interessar poder atualizar por si só. Se conseguirmos manter uma referencia de como foi feito o scrapping é um passo.

thayannevls commented 5 years ago

Entendi, poderiam colocar CSVs aqui? Ou era melhor link pro CSV?

fanny commented 5 years ago

Opa, sim, muito parecido com o que faço. Concordo com jadson, tipo, como o processo de scrapping nāo é parecido com o que o laguinho faz, acho que faria mais sentido separar

fanny commented 5 years ago

Só que de fato, tem que pensar numa lógica pra ficar atualizando esses dados, porque vai ser bem manual, se to entendendo bem. A menos, que os dados que o laguinho pegue, seja uma requisicao pra o arquivo de la, só nn sei se é uma boa :thinking:

JoseRenan commented 5 years ago

Entendi, poderiam colocar CSVs aqui? Ou era melhor link pro CSV?

No roadmap tá o link pro CSV, mas eu nn gosto disso, pq se o roadmap reestruturar o projeto o endpoint quebra, e eu acho que o laguinho tem de se preocupar mais em deixar o endpoint funcionando com algum dado do que deixar ele atualizado mas com risco de quebrar sem o nosso controle 🤔

JoseRenan commented 5 years ago

No roadmap tá o link pro CSV, mas eu nn gosto disso, pq se o roadmap reestruturar o projeto o endpoint quebra, e eu acho que o laguinho tem de se preocupar mais em deixar o endpoint funcionando com algum dado do que deixar ele atualizado mas com risco de quebrar sem o nosso controle thinking

Alguém tem alguma discordancia quanto a gente trazer todos os dados pra dentro do laguinho ao invés de linkar? pelos motivos que citei acima

/cc @JuanBarros2 @thayannevls @fanny

JuanBarros2 commented 5 years ago

Por mim acho que não tem problema pra gente mandar isso pra o laguinho.

thayannevls commented 5 years ago

Resolvido aqui https://github.com/OpenDevUFCG/laguinho-api/issues/31#issuecomment-517514522

Estamos reformulando o laguinho, por isso fecharei essa issue