covid19-br icon indicating copy to clipboard operation
covid19-br copied to clipboard

Add estado de SC e info cidade Joinville

Open Mat-Bit opened this issue 4 years ago • 7 comments

Como até o momento não tem uma fonte centralizada de informações para o estado de Santa Catarina, fiz o corona_sc_spider.py com base (tentei) no já feito do PR, tendo que por o nome e link para informações de cada cidade.

No momento possui apenas a cidade de Joinville.

Mat-Bit avatar Mar 23 '20 06:03 Mat-Bit

depois dos reviews, sugiro fazer um git rebase -i master para resolver os conflitos e normalizar as mensagens de commit

endersonmaia avatar Mar 23 '20 18:03 endersonmaia

Obrigado pelos comentários @endersonmaia Primeira vez que participo de um projeto do tipo e essa foi minha primeira PR, por isso peço um pouco de paciência com o iniciante aqui...

Farei as alterações sugeridas o quanto antes, e como são algumas, acha melhor excluir essa pull request e fazer outra depois das alterações?

Mat-Bit avatar Mar 24 '20 00:03 Mat-Bit

@Mat-Bit sem problemas

não vejo pq criar outra PR, faz as alterações, mesmo que vc modifique os commits e/ou o histórico, podes sobrepor a branch com push --force, o importante é que não haja conflitos com a master

eu criaria uma branch a parte, fica mais fácil de manter-se atualizado

se ficar com alguma dúvida, pode comentar aqui

endersonmaia avatar Mar 24 '20 01:03 endersonmaia

Atualizei o repositório e creio que realizei as modificações necessárias...

Mat-Bit avatar Mar 25 '20 04:03 Mat-Bit

@turicas fiz um review aí do commit, tá bem resumido agora

não atentei pra implementação python, depois dá uma olhada aí

endersonmaia avatar Mar 25 '20 12:03 endersonmaia

Obrigado pela revisão e sugestões @turicas !

Sei que idealmente o certo seria pegar um só link da Secretaria Estadual de Saúde com as informações dos municípios, porém ainda não encontrei um portal que reunisse toda a informação em um só lugar.

Paliativamente pensei em contribuir fazendo por cidades em que há notificações sobre a doença..

Acredito que consegui fazer as alterações requisitadas, com exceção de sobrescrever o documentos toda vez que executa o método parse().

Assim que possível farei o restante das alterações.

Mat-Bit avatar Mar 28 '20 21:03 Mat-Bit

Pessoal, atualização sobre os crawlers e a forma como estamos preenchendo os dados: vamos mudar a forma de subida dos dados pra facilitar o trabalho dos voluntários e deixar o processo mais robusto e confiável e, com isso, será mais fácil que robôs possam subir também os dados; dessa forma, os scrapers ajudarão bastante no processo. Com isso, criei algumas regras gerais e em breve farei algumas atualizações sobre:

  • Necessário fazer o scraper usando o scrapy;
  • Não usar pandas, BeautifulSoap, requests ou outras bibliotecas desnecessárias (a std lib do Python já tem muita biblioteca útil, o scrapy com XPath já dá conta de boa parte das raspagens e rows já é uma dependênciad esse repositório);
  • Deve existir alguma maneira fácil de fazer o scraper coletar os boletins e casos para uma data específica;
  • O método de parsing deve devolver (com yield) um dicionário com as seguintes chaves:
    • date: data no formato "YYYY-MM-DD"
    • state: sigla do estado, com 2 caracteres maiúsculos (deve ser um atributo da classe do spider e usar self.state)
    • city (nome do município ou em branco, caso seja o valor do estado, deve ser None)
    • place_type: "city" para município e "state" para estado
    • confirmed: inteiro, número de casos confirmados (ou None)
    • deaths: inteiro, número de mortes naquele dia (ou None)
    • ATENÇÃO: o scraper deve devolver sempre um registro para o estado que não seja a soma dos valores por município (esse dado deve ser extraído da linha "total no estado" no boletim) - essa linha virá com a coluna city com o valor None e place_type com "state";
  • Quando possível, use testes automatizados.

Nesse momento não temos muito tempo disponível para revisão, então por favor, só crie um pull request sugerindo com código de um novo scraper caso você possa cumprir os requisitos acima.

turicas avatar Apr 02 '20 14:04 turicas