Skip to content

lucyLattes script para a extração e compilação de dados do currículo Lattes

License

Notifications You must be signed in to change notification settings

Webteg/lucylattes

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

lucyLattes

DOI

Última atualização

Sat 2019-11-23 06:12:56 -04, verifique os logs aqui.

Motivação

O CNPq por meio do currículo Lattes agrega dados do registro da vida profissional de estudantes, professores, e pesquisadores do país, e tornando-se padrão nacional no meio científico para consulta sobre a produção científica dos referidos profissionais.

Contudo, após a criação do captcha para o acesso aos currículos Lattes, extrair dados dos currículos se tornou uma tarefa árdua, pois todas vez que pretende-se acessar um currículo, torna-se necessário passar pelo captcha. Com o intuito de auxiliar na obtenção destes dados, o lucyLattes foi desenvolvido.

O que faz

Extração, compilação, e organização dos dados dos currículos da plataforma Lattes em arquivos de texto, e geração de um relátório simplificado, que proporcionam agilidade para a geração de informação.

Veja algumas informações geradas:

Publicações de periódicos por ano

Publicações de periódicos por qualis

Interações entre pesquisadores na publicação de periódicos

Além das figuras, algumas tabelas são geradas:

Petter Pan
- http://lattes.cnpq.br/000000 (atualizado em: 13-12-2018)

  • total de projetos de pesquisa como coordenador = 5
  • total de projetos de pesquisa como integrante = 8
  • Orientações:
  • dissertação de mestrado = 8
    iniciacao_cientifica = 27
    trabalho_de_conclusao_de_curso_graduacao = 23
  • produção total de livros = 0
  • produção total de capítulos = 1
  • produção total de artigos = 60

  • YEAR A2 B1 B2 B3 B4 B5 C XX
    2015 0 4 0 4 0 0 0 0
    2016 0 3 0 0 0 0 1 2
    2017 0 2 1 3 0 2 0 1
    2018 0 0 0 4 0 0 0 0

    Resumo da produção de artigos em periódicos do grupo 2010-2019


    FULL_NAME A1 A2 B1 B2 B3 B4 B5 C XX TOTAL
    0Celite 0 2 19 0 2 3 4 0 131
    1Dijon 0 2 8 4 3 2 22 1 143
    2Cido 0 8 15 3 9 1 10 3 150
    3Petter Pan 0 1 20 2 18 3 6 1 960

    Notas

    O lucyLattes não tem vínculo com o CNPq. Este programa computacional é fruto de um esforço (independente) realizado com o objetivo de dar suporte às rotinas de análise de dados cadastradas nos Currículos Lattes (publicamente disponíveis).

    Este programa é um software livre; você pode redistribui-lo e/ou modificá-lo dentro dos termos da Licença Pública Geral GNU. Verifique o arquivo LICENSE.txt .

    Este programa é distribuído na esperança que possa ser util, mas SEM NENHUMA GARANTIA; sem uma garantia implicita de ADEQUAÇÂO a qualquer MERCADO ou APLICAÇÃO EM PARTICULAR. Verifique o arquivo LICENSE.txt .

    Como usar

    Inicialmente recomenda-se a leitura dos próximos tópicos (Instalação e Como executar o programa).

    Posteriormente, se achar necessário, há uma explicação mais detalhada no blog: Blog - post LucyLattes

    Instalação

    • Requerimentos:

      • Sistema operacional Linux;
      • Python 3 ou superior;
      • Navegador (Firefox ou Chorme) para visualizar relatório.
    • Se não possuir Python3 ou superior instalado executar no terminal:

    Se vc usar UBUNTU 18

    sudo apt-get install python3

    sudo apt-get install python3-pip

    sudo apt-get install python3-tk

    • Caso não tenha as bibliotecas Python instaladas executar no terminal:
    pip3 install pandas
    pip3 install numpy
    pip3 install requests
    pip3 install beautifulsoup4
    pip3 install matplotlib
    pip3 install networkx
    pip3 install lxml
    pip3 install tabulate
    

    Como executar o programa

    1. Faça o Download do arquivo .zip que contém o lucyLattes. Antes do dowload, caso queira, vc pode pode ajudar com quanto quiser para manter o projeto:

    paypal

    Download aqui: https://github.com/rafatieppo/lucyLattes/archive/master.zip

    1. Descompacte o arquivo .zip que pode ser obtido em um diretório de sua preferência.

    2. Na pasta descompactada, abra o arquivo list_id_name.txt com um editor de texto, leias as instruções no arquivo e faça as alterações necessárias. Salve e feche o arquivo.

    3. Faça o dowload dos curriculos Lattes desejados e copie todos no diretório xml_zip. Para realizar o download, acesso o currículo Lattes do pesquisador, e no canto superior direito clique sobre um botão XML, salve o arquivo e NÃO altere o nome e nem o formato, NÃO DESCOMPACTE OS ARQUIVOS. O nome do arquivo é composto por 16 caracteres e a extensão .zip, e.g. 3275865819287843.zip.

    4. Abra o arquivo config.txt com um editor de texto e altere o que for necessário. Somente edite à direita do símbolo ":" Salve e feche o arquivo.

    5. Acesse o diretório descompactado pelo terminal e digite:

    python3 lucyLattes.py

    1. Se tudo ocorreu corretamente, um relatório foi gerado no diretório relatório, basta acessar com um navegador (Chrome ou Firefox**.

    Observações

    Atenção, Atenção, Atenção. Sempre que editar o arquivo list_id_name.txt APAGUE todos os arquivos do diretório csv_producao.

    Gostou?

    • Nos de uma estrela clicando na estrela no topo da página (lado direito)
    • Deixe um comentário no Blog - post LucyLattes

    Desenvolvimento

    • DONE Capturar os projetos de pesquisa, e extensão, com seus respectivos participantes, classificação do tipo de projeto (pesquisa ou extensão) organizando os dados em um DataFrame;

    • DONE Capturar produção técnica de cada pesquisador

    • DONE Capturar as atividades de orientação;

    • DONE Ler o .xml direto do .zip;

    • DONE Realizar um looping para caturar uma série de currículos.

    • DONE Capturar produção em periódicos;

    • DONE Associar produção em periódico com capes qualis;

    • DONE Gerar um arquivo .csv com o extrato de produção na pasta relatório;

    • DONE Salva em pasta específica arquivos .csv individuais para cada pesquisador[100%]

      • os projetos de pesquisa e extensão;
      • cursos de curta duração;
      • publicações em periódico com qualis, revista;
      • publicações de livros e capítulos;
      • orientações (tcc, ic, mestrado, doutorado);
    • TODO Grafo de interação entre pesquisadores [33%]

      • realiza interações somente entre artigos
      • como observação, deve-se atentar que os integrantes que não possuem interação(s) não aparecem no grafo.
      • Verificar as interações nos projetos de pesquisa e extensão;
      • Calcular o peso das interações dos membros no grafo;
      • Capturar as atividades dos projetos de extensão;
      • Gerar um .json file para cada currículo;
    • DONE Relatório em .html [100%]

      • Relação de pesquisadores, cidade, estado, link lattes, lattes atualização;
      • Lista de projetos de pesquisa e extensão;
      • Síntese de artigos publicados em periódicos;
      • Gráficos dos periódicos por período e por qualis;
      • Extrato de produção por pesquisador;
      • relação de livros
      • relação de orientações

    Logs

    Sat 2019-11-23 06:12:56 -04

    • Havia um erro na leitura dos anos de início dos projetos, qdo a passava-se a variável (ANO) de str para int em alguns casos a variável continha uma casa decimal (e.g. 2010.0), impossibilitando deixar o número inteiro em um único passo.

    Mon 2019-11-11 19:14:11 -04

    • Melhoria no código de verify (verify.py). Método IOError foi substituído por OSError, IOError. In 3.3, IOError became an alias for OSError, and FileNotFoundError is a subclass of OSError. PEP 3151.

    Sun 2019-10-27 10:40:52 -04

    • Melhoria no código de verificação (verify.py). Quando um arquivo .csv de produção é solicitado e o mesmo não foi gerado por falta de produção nos currículos, um aviso é emitido na tela e uma observação é impressa no relatório (report.py).

    Tue 2019-07-23 07:38:14 -04

    • Um código para verificação dos anos em todos os arquivos de produção foi desenvolvido (verify.py). Se o ano da produção não foi extraído, a produção é excluída do arquivo .csv. Quando há falha na extração do ano, os arquivos são atualizados e salvos.

    Mon 2019-06-17 23:09:13 -04

    • Organização do arquivo para relação de orientações de cada pesquisador. As orientações estão divididas de acordo com a classificação do CNPq. No relatório para cada pesquisador há uma síntese das orientações, e no final do relatório há uma tabulação com o tipo de orientação e quantidade de orientações por pesquisador.

    Thu 2019-06-13 21:23:26 -04

    • Extração da orientação de doutorado concluída ok. Falta realizar o relatório de todas as orientações.

    Sat 2019-05-04 09:25:13 -04

    • Houve tentantiva de melhorar a extracao do resumo (scrapper.py), mas sem sucesso. A mensagem para os resumos nao capturados foi alterada para: Nao foi possivel extrair o resumo.

    Tue 2019-04-02 10:34:17 -04

    • No scrapper.py para ppe os limites de seleção foram melhorados.

    Tue 2019-04-02 10:34:17 -04

    • Insirido no relatório publicação de livros e capítulos (gráficos e listas). Na produção individual também insirido o número de livros e capítulos. No resumo da produção foi inserido o número de profissionais que formam a equipe.

    Sat 2019-03-23 18:24:31 -04

    • No relatório, caso tenha ocorrência de pesquisadores que não possuam interação em periódicos, uma lista com o nome dos mesmos é adicionada. Melhoria na disposição do grafo, relatório aprimorado.

    Mon 2019-03-18 23:49:11 -04

    • Melhorias no relatório com indicação do número total de projetos como coordenador e integrante.

    Fri 2019-03-15 16:45:33 -04

    • Problema no ids que inciavam com o zero foram corrigidos. O relatório foi melhorado com adicao de link lattes na producao individual, um extrato do grupo foi adicionado no final. Avisos para PPE e PAPERS sem ano foram adicionados. Corrigido para resumo gerado automaticamente pelo Lattes.

    Mon 2019-03-11 21:30:46 -04

    • No relatório as produções foram enumeradas. Avisos foram inseridos após a finalização dos processos.

    Thu 2019-03-07 21:16:25 -04

    • o método de verificação da ordem de autoria do paper foi melhorado, a ordem é obtida direto do lattes.

    Thu 2019-02-28 21:16:25 -04

    • relatório está implementado, como produto um arquivo .html é gerado. Para verificar a interação entre os integrantes um Grafo é gerado, assumindo somente as interações entre publicações em periódicos.

    Tue 2019-02-19 21:16:25 -04

    • relatório .html foi iniciado, mas não foi implementado na função ainda.

    Sat 2019-02-16 21:16:25 -04

    • foi inserido uma verificação no scraperlattes, caso o comprimento da lista seja zero é informado. Há um arquivo .csv com o nome completo, sobrenome, e id do pesquisador. Foi iniciado a análise de dados para o reatório.

    Thu 2019-02-14 21:16:25 -04

    • foi criado um arquivo config.txt com objetivos de:
      • especificar o arquivo .csv que será utilizado no qualis.

    Wed 2019-02-13 21:16:25 -04

    • função para capturar os periódicos com qualis foi concluída, os arquivos .xml foram movidos para a pasta xml_zip.

    Tue 2019-02-12 21:16:25 -04

    • os arquivos .xml são lidos diretamente do arquivo .zip. Foi criado um arquivo lista no formato .csv, neste arquivo deve conter o id Lattes de cada pesquisador e seus respectivo nome.

    Sat 2019-01-26 21:16:25 -03

    • do arquivo .xml do lattes é possível extrair o nome do projeto, tipo do projeto, ano de início, e integrantes, etc

    Arquivos

    • scraperlattes.py: contém as funções que extraem as informações necessárias e geram os .csv;
    • readidlist.py: faz a leitura da lista que contém o id dos pesquisadores ;
    • lucyLattes.py: funciona como o executável;
    • config.txt: configurações para funcionamento do script;
    • tidydf.py: organiza os DataFrame;
    • report.py: gerador do relatório;
    • grapho.py: gerador do gráfico com as interações entre os membros.
    • verify.py: verifica e corrige extração do anos para as produções.

    Referências

    J. P. Mena-Chalco e R. M. Cesar-Jr. scriptLattes: An open-source knowledge extraction system from the Lattes platform. Journal of the Brazilian Computer Society, vol. 15, n. 4, páginas 31--39, 2009.

    Rossum, G. van ( C. voor W. en I. (CWI)). (1995). Python tutorial. Python (Vol. 206). Amsterdam.

    Autor

    About

    lucyLattes script para a extração e compilação de dados do currículo Lattes

    Resources

    License

    Stars

    Watchers

    Forks

    Releases

    No releases published

    Packages

    No packages published

    Languages

    • Python 91.2%
    • CSS 8.8%