SkillAgentSearch skills...

ScriptLattes

No description available

Install / Use

/learn @jpmenachalco/ScriptLattes
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

scriptLattes

O CNPq realiza um enérgico trabalho na integração de bases de currículos acadêmicos de instituições públicas e privadas em uma única plataforma denominada Lattes. Os chamados ``Currículos Lattes'' são considerados um padrão nacional de avaliação representando um histórico das atividades científicas / acadêmicas / profissionais de pesquisadores cadastrados. Os currículos Lattes foram projetados para mostrar informação pública, embora, individual de cada usuário cadastrado na plataforma. Muitas vezes, realizar uma compilação ou sumarização de produções bibliográficas para um grupo de usuários cadastrados de médio ou grande porte (e.g. grupo de professores, departamento de pós-graduação) realmente requer um grande esforço mecânico que muitas vezes é suscetível a falhas.

O scriptLattes é um script GNU-GPL desenvolvido para a extração e compilação automática de: (1) produções bibliográficas, (2) produções técnicas, (3) produções artísticas, (4) orientações, (5) projetos de pesquisa, (6) projetos de extensão, (7) projetos de desenvolvimento, (8) áreas de atuação com especialidades, (9) prêmios e títulos, e (10) grafo de colaborações de um conjunto de pesquisadores cadastrados na plataforma Lattes. Associações de Qualis para as produções acadêmicas publicadas em Congressos e Revistas também são considerados.

O scriptLattes baixa automaticamente os currículos Lattes em formato HTML (livremente disponíveis na rede) de um grupo de pessoas de interesse, compila as listas de produções, tratando apropriadamente as produções duplicadas e similares. São geradas páginas HTML com listas de produções e orientações separadas por tipo e colocadas em ordem cronológica invertida. Além dos relatórios HTML tradicionais, o sistema agora gera automaticamente arquivos JSON individuais para cada pesquisador, facilitando a análise de dados e integração com outras ferramentas. Adicionalmente são criadas automaticamente vários grafos (redes) de co-autoria entre os membros do grupo de interesse e um mapa de geolocalização dos membros e alunos (de pós-doutorado, doutorado e mestrado) com orientação concluída. Os relatórios gerados permitem avaliar, analisar ou documentar a produção de grupos de pesquisa. Este projeto de software livre foi idealizado por Jesús P. Mena-Chalco e Roberto M. Cesar-Jr em 2005 (IME/USP).

O scriptLattes atualmente permite filtrar as produções científicas usando termos de pesquisa (Veja os exemplo teste-03).

✨ Principais Funcionalidades Implementadas

🔄 Extração Aprimorada de Projetos

  • Projetos de Pesquisa: Extração completa com padrão salvarParte3
  • Projetos de Extensão: Suporte completo para múltiplos projetos
  • Projetos de Desenvolvimento: Nova funcionalidade - extração completa de projetos de desenvolvimento/tecnológicos
  • Correção de Bugs: Resolvido problema de contaminação de dados entre membros

🎯 Áreas de Atuação Melhoradas

  • Múltiplas Áreas: Extração correta de todas as áreas de atuação de cada pesquisador
  • Estrutura Completa: Grande área, área, subárea e especialidade quando disponível
  • Parsing Inteligente: Regex otimizado para capturar especialidades com espaços e caracteres especiais

📄 Exportação JSON Abrangente

  • Arquivos Individuais: JSON separado para cada pesquisador
  • Estrutura Completa: Todos os tipos de dados disponibilizados
  • Estatísticas Atualizadas: Contadores automáticos para todos os tipos de produção

🔧 Melhorias Técnicas

  • Parser Robusto: Correções na lógica de parsing HTML
  • Estado Isolado: Cada membro processado independentemente
  • Flags Corrigidas: Reset apropriado de flags de seção
  • Tratamento de Idiomas: Suporte para múltiplos idiomas por pesquisador

Pré-requisitos

  • Python 3: Certifique-se de ter o Python 3 instalado no seu computador. Se não tiver, você pode baixá-lo em python.org.
  • Google Chrome ou Chromium: Necessário para o funcionamento do ChromeDriver.
  • jq: Utilitário para processamento JSON (necessário para o Makefile):
    • Ubuntu/Debian: sudo apt-get install jq
    • CentOS/RHEL/Fedora: sudo yum install jq ou sudo dnf install jq
    • macOS: brew install jq
  • wget: Para download do ChromeDriver (geralmente já instalado)

Instalação Rápida (Recomendada)

Para uma instalação completa automatizada, use o Makefile incluído:

# Clone o repositório
git clone https://github.com/jpmenachalco/scriptLattes.git
cd scriptLattes

# Instalação completa (ambiente virtual + dependências + ChromeDriver)
make install

Este comando irá:

  1. Criar um ambiente virtual Python
  2. Instalar todas as dependências
  3. Detectar automaticamente a versão do seu Chrome/Chromium
  4. Baixar e configurar a versão correta do ChromeDriver

Outros comandos úteis do Makefile:

make help                    # Mostra todos os comandos disponíveis
make status                  # Verifica o status da instalação
make test                    # Executa o exemplo de teste
make clean                   # Limpa arquivos temporários e cache
make update-chromedriver     # Atualiza o ChromeDriver

Instalação Manual (Alternativa)

1. Clone este repositório para o seu computador

git clone https://github.com/jpmenachalco/scriptLattes.git

2. Navegue até o diretório do projeto

cd scriptLattes

3. Crie um ambiente virtual

python -m venv venv

Ative o ambiente virtual no Windows

venv\Scripts\activate

Ative o ambiente virtual no Linux/Mac

source venv/bin/activate

4. Instale as dependências

pip install -r requirements.txt

5. Configure o ChromeDriver manualmente

Baixe o ChromeDriver correspondente à versão do seu navegador em Chrome for Testing. É importante que as versões sejam compatíveis.

Execução do Programa

Com Makefile (ambiente virtual gerenciado automaticamente):

make test

Manual (certifique-se de que o ambiente virtual está ativado):

source venv/bin/activate  # Linux/Mac
python3 scriptLattes.py exemplo/teste-01.config

Estrutura de Saída

O scriptLattes gera vários tipos de saída para análise dos dados extraídos:

Relatórios HTML

  • Páginas HTML interativas com tabelas organizadas por tipo de produção
  • Gráficos de colaboração e visualizações em rede
  • Mapas de geolocalização dos pesquisadores e orientandos

Novidade: Exportação JSON Individual Completa

A partir da versão atual, o scriptLattes gera automaticamente arquivos JSON individuais para cada pesquisador na pasta json/ do diretório de saída.

Estrutura Completa do JSON por pesquisador:

  • informacoes_pessoais: Dados básicos do pesquisador (Nome, ID Lattes, endereço profissional, etc.)
  • formacao_academica: Histórico completo de formação acadêmica
  • projetos_pesquisa: Lista completa de projetos de pesquisa com detalhes
  • projetos_extensao: Projetos de extensão universitária - completo com descrições
  • projetos_desenvolvimento: 🆕 NOVO - Projetos de desenvolvimento e tecnológicos - totalmente implementado
  • areas_de_atuacao: Melhorado - Múltiplas áreas com grande área, área, subárea e especialidade quando disponível
  • producao_bibliografica: Artigos, livros, capítulos, trabalhos em congressos
  • producao_tecnica: Softwares, produtos tecnológicos, trabalhos técnicos
  • patentes_registros: Patentes, programas de computador, desenhos industriais
  • producao_artistica: Produções artísticas e culturais
  • orientacoes: Orientações em andamento e concluídas (todas as modalidades)
  • eventos: Participações e organizações de eventos
  • premios_titulos: Prêmios e títulos recebidos
  • idiomas: Melhorado - Múltiplos idiomas com proficiências detalhadas
  • estatisticas: Atualizado - Resumo quantitativo incluindo projetos de desenvolvimento

Exemplos práticos de uso dos dados JSON:

# Listar todos os projetos de desenvolvimento (nova funcionalidade)
jq '.projetos_desenvolvimento[].nome' json/00_Paulo-Sergio-*.json

# Verificar todas as áreas de atuação com especialidades
jq '.areas_de_atuacao[] | {area: .area, subarea: .subarea, especialidade: .especialidade}' json/*.json

# Obter estatísticas completas incluindo projetos de desenvolvimento
jq '.estatisticas' json/00_Paulo-Sergio-*.json

# Extrair projetos de extensão
jq '.projetos_extensao[].nome' json/*.json

# Verificar todos os idiomas conhecidos pelos pesquisadores
jq '.idiomas[] | {nome: .nome, proficiencia_completa: .proficiencia_completa}' json/*.json

# Comparar tipos de projetos por pesquisador
jq '{nome: .informacoes_pessoais.nome_completo, projetos_pesquisa: (.estatisticas.total_projetos_pesquisa), projetos_extensao: (.estatisticas.total_projetos_extensao), projetos_desenvolvimento: (.estatisticas.total_projetos_desenvolvimento)}' json/*.json

Melhorias na Estrutura de Dados:

  1. Áreas de Atuação Aprimoradas:

    {
      "grande_area": "Ciências Exatas e da Terra",
      "area": "Ciência da Computação", 
      "subarea": "Metodologia e Técnicas da Computação",
      "especialidade": "Engenharia de Software",
      "descricao_completa": "Grande área: Ciências Exatas... / Especialidade: Engenharia de Software."
    }
    
  2. Projetos de Desenvolvimento (NOVO):

    {
      "nome": "ES Na Palma da Mão: Uma Plataforma baseado em serviços...",
      "ano_inicio": "2019",
      "ano_conclusao": "2020", 
      "descricao": ["Descrição completa do projeto..."],
      "tipo": "Projeto de desenvolvimento"
    }
    
  3. Estatísticas Expandidas:

    {
      "total_projetos_pesquisa": 9,
      "total_projetos_extensao": 2,
      "total_projetos_desenvolvimento": 7,
      "total_artigos_periodicos": 5
    }
    

Arquivos de Dados Estruturados

  • CSV/Excel: Tabelas exportáveis para análise em planilhas
View on GitHub
GitHub Stars52
CategoryDevelopment
Updated6d ago
Forks25

Languages

Python

Security Score

90/100

Audited on Apr 1, 2026

No findings