O UrbanLitTracker é uma ferramenta projetada para coletar, processar e armazenar artigos acadêmicos relevantes para o estudo de mudanças urbanas e expansão urbana. Utilizando a API do OpenAlex, ele extrai dados de publicações científicas, aplica filtros por idioma e período, e armazena os resultados em um banco de dados MongoDB para análise posterior.
- Extração de Dados: Coleta artigos acadêmicos através de consultas personalizadas à API do OpenAlex (por exemplo, "urban change detection" OR "Urban Sprawl").
- Transformação e Limpeza: Processa os dados para compatibilidade com o MongoDB, incluindo a renomeação do campo
id
para_id
. - Armazenamento em Banco de Dados: Salva os documentos processados em um banco de dados MongoDB, facilitando consultas e análises.
- Navegação e Resiliência: Implementa paginação para grandes volumes de dados e mecanismos para lidar com erros de rede, como reconexão em caso de erro 403.
- Monitoramento de Progresso: Exibe uma barra de progresso durante a execução usando a biblioteca
tqdm
. - Análise de Dados e Visualização:
- Cria tabelas e gráficos interativos para visualizar os dados coletados.
- Identifica os trabalhos mais relevantes e citados.
- Analisa a distribuição das publicações ao longo dos anos.
- Lista os autores e instituições mais frequentes.
- Extrai e analisa as palavras-chave mais comuns.
- Exportação de Dados: Os dados analisados podem ser exportados para arquivos CSV, facilitando o uso em outras ferramentas.
- Interface Interativa: O Dashboard criado com Dash e Dash Mantine Components oferece uma interface interativa para explorar os dados.
- Python: Linguagem de programação principal.
- OpenAlex API: Fonte de dados para artigos acadêmicos.
- MongoDB: Banco de dados NoSQL para armazenamento de documentos.
- Dash e Dash Mantine Components: Criação de dashboard interativo
- Bibliotecas Python:
pymongo
: Interação com o MongoDB.pyalex
: Consultas à API do OpenAlex.tqdm
: Exibição de barra de progresso.logging
: Registro de logs e depuração.pandas
: manipulação e análise de dados.plotly
: Criação de gráficos interativos.
- Instale as dependências:
pip install pymongo pyalex tqdm dash dash-mantine-components pandas plotly
- Configure a URI do MongoDB no script (
MONGO_URI
). - Defina a consulta desejada (
QUERY
) e o intervalo de datas (from_publication_date
eto_publication_date
).
- Execute o script:
python app.py
. - O progresso da coleta e processamento será exibido na barra de progresso.
- Execute o script do Dashboard: python app.py
- Acesse o dashboard no seu navegador.
- Os documentos coletados serão armazenados na coleção
bibliometria
do banco de dadosgyn-sefin
. - O Dashboard irá disponibilizar diversas tabelas e gráficos para a visualização dos dados, e também irá disponibilizar a opção de exportar os dados para csv.