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
idpara_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_dateeto_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
bibliometriado 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.