Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BaseCovid19Spider - permitir adicionar casos OU óbito a um município #143

Open
endersonmaia opened this issue May 21, 2020 · 3 comments
Open
Labels
data-scraping enhancement New feature or request

Comments

@endersonmaia
Copy link
Collaborator

endersonmaia commented May 21, 2020

Contexto

Para fazer o scraping das página, em alguns casos podemos ter os dados de óbitos e casos em requests separados, e assim precisamos percorrer todos os dados, normalizá-los, antes de fazer um outro loop nos dados normalizados para só aí preencher os dados usando BaseCovid19Spider .add_city_case(city, confirmed, deaths)

Objetivo

Deveria ser possível adicionar casos e óbitos independentemente.

Proposta
Implementar métodos independentes, como :

  • add_city_confirmed_case(city, confirmed)
  • add_city_death_case(city, confirmed)

Ou que seja possível os parâmetros em add_city_case sejam opcionais.

Poderíamos chamar add_city_case("Maceió", confirmed=3) e depois chamar add_city_case("Maceio", deaths=1) e fazer o tratamento internamente.

--

Se isso já é possível hoje, me avisa e desconsidera a issue, meu Python ainda não é fluente. ;)

@endersonmaia endersonmaia added enhancement New feature or request data-scraping labels May 21, 2020
@endersonmaia
Copy link
Collaborator Author

Com esta mudança, seria possível incrementar os dados para os Estados que já contemplam com :

  • recuperados
  • testados
  • descartados
  • ...

@augusto-herrmann
Copy link
Contributor

Hoje não está assim, mas a classe BaseCovid19Spider poderia ser modificada para interpretar o parâmetro deaths=None, por exemplo, como "não altere o número de óbitos".

Assim, você poderia dar um add_report para cada fonte de dados, cada qual com a sua URL diferente, e nele acrescentar somente aqueles dados que tem para aquela fonte. Para aquele seu exemplo de GO, que tem duas URLs de CSVs, uma para casos e outra para óbitos, você chamaria um add_report para cada um dos CSVs e teria um loop de add_city_case para cada um.

É uma ideia.

@lotaviogit
Copy link

Não sou tão experiênte com o Scrapy, mas como os dados são muito bagunçados nas próprias secretarias de saúde, como a de Minas que agora mudou o formato do arquivo csv, e essa de GO que tem 2 csv diferentes, acho que seria melhor dar uma "independência" maior a cada Spider, podendo elas chamar os parses necessários, pois como em GO, seriam necessários 2.

A BaseCovid19Spider continuaria com os mesmos métodos, mas abriria um arquivo csv para o dia da pesquisa, chamaria os parses ou a Spider em si, que populariam o arquivo, e depois fecharia esse arquivo.

Acho que essa seria a melhor opção, pra ser mais fácil mudar as Spiders a medidas que os formatos dos dados forem mudando, e para salvar os dados diariamente, ainda mais agora com essa ameaça de existir uma tentativa de esconde-los.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
data-scraping enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants