Code Monkey home page Code Monkey logo

Comments (13)

brunovilar avatar brunovilar commented on July 28, 2024

#28

Baseado na implementação do PR, criei um código para o DF. Como os boletins incluem apenas informações sobre a unidade da federação e não sobre os municípios ou regiões administrativas, o arquivo de saída é mais conciso em número de linhas, mas mantém as colunas padrão.

Há pelo menos 3 estilos diferentes de formação dos boletins. No último, até a data de referência tem o formato alterado.

from covid19-br.

bjverde avatar bjverde commented on July 28, 2024

Uso o trabalho do @brunovilar como base melhorei e voltou a buscar as informações do DF.
Estou corrindingo o buraco entre o dia 19/03 a 02/02

from covid19-br.

bjverde avatar bjverde commented on July 28, 2024

Já ia esquecendo os boletins mais novos traz os casos por Região Administrativa do DF. Elas não existem na tabela de codigo do IBGE. Contudo acredito que seria interessante ter essa dado individulizado tambem.

from covid19-br.

augusto-herrmann avatar augusto-herrmann commented on July 28, 2024

Bem vindo, @bjverde !

O DF, conforme a Constituição de 1988, não pode ser dividido em municípios. Por isso, é considerado como um só, Brasília. Embora o boletim tenha os números individualizados por Região Administrativa, elas não têm código IBGE por esse motivo.

O Brasil.io pode optar entre incluir ou não os dados individualizados por RA, já que eles estão no boletim. Mas, caso opte por incluir, não vai poder usar o código IBGE para isso.

Já que você está mexendo no scraper, é bom saber de uma coisa também. A cada boletim que sai, não vem apenas a informação do número de casos e óbitos do dia, mas também são revisados os números dos dias anteriores. Vide #86.

Entretanto, no caso do boletim do DF, essa informação não está disponível em texto nem em tabela. Ela está no gráfico, que é uma imagem dentro do PDF. À medida em que o tempo vai passando, os pontos no gráfico vão ficando mais apertados, e os números têm que ficar cada vez com uma fonte menor. Então é inviável eles continuarem a disponibilizar os dados desse jeito, a não ser que passem a cortar o começo da curva.

Estou em contato com pessoas da equipe que elabora o boletim e já informei sobre o problema. Quero sugerir um formato de planilha também para que passem a usar, mas ainda não chegamos em um consenso sobre o formato da planilha que devemos sugerir. Vide #89.

from covid19-br.

bjverde avatar bjverde commented on July 28, 2024

Obrigado @augusto-herrmann !

Sim estou mexendo nos scraper. Realmente não reparei nos gráficos, estava olhando apenas as tabelas e texto #86.

Você recomenda que parar o trabalho do scraper e aguarde a conclusão do #89 ??

from covid19-br.

augusto-herrmann avatar augusto-herrmann commented on July 28, 2024

Sim. Sugiro também que você entre no chat do Brasil.io, canal #covid10-centro-oeste. Lá estamos discutindo como tratar esses números. Tem também a questão da separação entre os casos de residentes no DF e os casos importados/indefinidos.

from covid19-br.

augusto-herrmann avatar augusto-herrmann commented on July 28, 2024

@bjverde, a SES/DF está divulgando os boletins agora em um novo formato. Ainda é PDF, mas estão mais organizados. Todos os dados necessários estão na primeira página do documento.

Acho que agora já é bastante viável implementar o scraper, se quiser continuar.

from covid19-br.

bjverde avatar bjverde commented on July 28, 2024

@augusto-herrmann desculpe a demora !! Vou atualizar o scraper que já fiz !!

from covid19-br.

augusto-herrmann avatar augusto-herrmann commented on July 28, 2024

Opa! Também fiz um scraper para o boletim em PDF:

master...augusto-herrmann:df-spider

O problema é que a biblioteca rows não está lendo a tabela na primeira página com os campos sempre na mesma ordem. A ordem dos campos, visualmente no PDF, é sempre a mesma, mas a ordem lida pela rows é diferente e varia a cada boletim.

Já enfrentou esse tipo de problema, @turicas ?

Talvez a solução seja ler a partir dos microdados mesmo, que já estão em CSV.

from covid19-br.

augusto-herrmann avatar augusto-herrmann commented on July 28, 2024

Consegui resolver colocando uma expressão regular no parâmetro ends_before.

Agora o scraper já funciona perfeitamente para o boletim do dia 28/5, mas não para o do dia 3/6. Neste último, a tabela está sendo lida como se tivesse só uma única linha, com os valores todos juntos na mesma célula e separados por saltos de linha.

In [20]: table = rows.import_from_pdf( 
    ...:             './Boletim-COVID_DF_93-03_06_2020.pdf', 
    ...:             page_numbers=[1], 
    ...:             starts_after=re.compile(r'Óbitos'), 
    ...:             ends_before=re.compile(r'^Fonte'),
    ...:             force_types={'n': rows.fields.TextField} 
    ...:         )                                                              

In [21]: table                                                                  
Out[21]: <rows.Table (from pdf) 5 fields, 1 rows>

from covid19-br.

augusto-herrmann avatar augusto-herrmann commented on July 28, 2024

Outra coisa a se fazer é ler os microdados de casos de Covid-19, que estão disponíveis em CSV, a partir do Painel de Covid-19 no DF.

Imagino que daria um pouco mais de trabalho fazer esse tipo de análise usando apenas o Python puro e a rows, já que aqui tem a diretiva de não adicionar dependências como Pandas ou Numpy.

Mas seria importante comparar se os números dos microdados estão coerentes com os do boletim.

from covid19-br.

endersonmaia avatar endersonmaia commented on July 28, 2024

Outra coisa a se fazer é ler os microdados de casos de Covid-19, que estão disponíveis em CSV, a partir do Painel de Covid-19 no DF.

Imagino que daria um pouco mais de trabalho fazer esse tipo de análise usando apenas o Python puro e a rows, já que aqui tem a diretiva de não adicionar dependências como Pandas ou Numpy.

Mas seria importante comparar se os números dos microdados estão coerentes com os do boletim.

se os dados estão em CSV, vai direto lá , não ?

ou sua ideia é no próprio scraper fazer o download dos dois e efetuar algum tipo de validação ?

eu estou com este dilema para AL, pois já tem uma PR pronta buscando dos microdados, mas como ainda não bate com o boletim em PDF (e não tenho scraper pro PDF), ainda estou buscando os dados manualmente pelo PDF

from covid19-br.

augusto-herrmann avatar augusto-herrmann commented on July 28, 2024

Sim, pensei em fazer uma validação. Gerar um warning e/ou preencher um campo de observação se os números estiverem diferentes, ou algo assim. Dar prioridade para um em detrimento do outro (discutir com o grupo qual seria mais confiável, se o PDF ou o CSV).

Poderia ser assim também para AL.

from covid19-br.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.