lucyLattes script para a extração e compilação de dados do currículo Lattes
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.
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:
Além das figuras, algumas tabelas são geradas:
Petter Pan
- http://lattes.cnpq.br/000000 (atualizado em: 13-12-2018)
dissertação de mestrado = 8
iniciacao_cientifica = 27
trabalho_de_conclusao_de_curso_graduacao = 23
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 | |
---|---|---|---|---|---|---|---|---|---|---|---|
0 | Celite | 0 | 2 | 19 | 0 | 2 | 3 | 4 | 0 | 1 | 31 |
1 | Dijon | 0 | 2 | 8 | 4 | 3 | 2 | 22 | 1 | 1 | 43 |
2 | Cido | 0 | 8 | 15 | 3 | 9 | 1 | 10 | 3 | 1 | 50 |
3 | Petter Pan | 0 | 1 | 20 | 2 | 18 | 3 | 6 | 1 | 9 | 60 |
INDICADORES CAPES
Índice de orientação do grupo
QUADRIENIO_INI | QUADRIENIO_FIM | INDORI | INDORI_CLASSIFICACAO | |
---|---|---|---|---|
0 | 2013 | 2016 | 1.4 | MUITO_BOM |
1 | 2017 | 2020 | 1 | BOM |
Índice de produção de artigo
QUADRIENIO_INI | QUADRIENIO_FIM | INDPRODART | |
---|---|---|---|
0 | 2013 | 2016 | 1.4975 |
1 | 2017 | 2020 | 1.64667 |
Índice de autoria discente
Considera apenas produção em periódicos
QUADRIENIO | INDOUT | INDIS | |
---|---|---|---|
0 | 2013-2016 | 0.848485 | 3.12121 |
1 | 2017-2020 | 0.789474 | 2.47368 |
INDAUT: Índice de discentes autores, INDDIS: Índice de produtos com autoria discente
Indicador de distribuição dos docentes permanentes por faixa de IndProd
Classificação dos pesquisadores por quadriênio
QUADRIENIO | FULL_NAME | INDPRODART | CLASSIF | |
---|---|---|---|---|
0 | 2013-2016 | Jose | 0.53 | REGULAR |
1 | 2013-2016 | Maria | 0.21 | FRACO |
2 | 2013-2016 | Peter | 0.386667 | REGULAR |
3 | 2013-2016 | Rafae | 0.21 | FRACO |
4 | 2013-2016 | Thiago | 0.553333 | REGULAR |
5 | 2017-2020 | Jose | 0.773333 | REGULAR |
6 | 2017-2020 | Maria | 0.295 | REGULAR |
7 | 2017-2020 | Peter | 0.24 | FRACO |
8 | 2017-2020 | Rafael | 0.17 | FRACO |
9 | 2017-2020 | Thiago | 0.346667 | REGULAR |
Indicador DistIndProdDP
QUADRIENIO | DISTINDPRODDP | |
---|---|---|
0 | 2013-2016 | 50 |
1 | 2017-2020 | 60 |
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 útil, mas SEM NENHUMA GARANTIA; sem uma garantia implicita de ADEQUAÇÂO a qualquer MERCADO ou APLICAÇÃO EM PARTICULAR. Verifique o arquivo LICENSE.txt .
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
Se vc usar DEBIAN, UBUNTU ou derivados
sudo apt-get install python3
sudo apt-get install python3-pip
sudo apt-get install python3-tk
Se vc usar Windows
Acesse https://python.org.br/instalacao-windows/ e instale a versão do Python 3
, basta seguir as instruções. Não esqueça de instalar o PIP.
Para todos os sistemas operacionais (Linux, MacOS, Windows, Solaris, etc) são necesssários as mesmas bibliotecas. Para instalar as bibliotecas em ambientes Linux acesse o Terminal. Caso seja usuário Windows
, acess o prompt do DOS
ou o PowerShell
. Posteriormente basta digitar:
pip3 install pandas
pip3 install numpy
pip3 install requests
pip3 install beautifulsoup4
pip3 install matplotlib
pip3 install networkx
pip3 install lxml
pip3 install tabulate
.zip
que contém o lucyLattes
. Antes do
dowload, caso queira, vc pode pode ajudar com quanto quiser para manter
o projeto:Download aqui: https://rafatieppo.github.io/lucylattes/. Escolha a opção .zip
ou .tar
para fazer o download dos aquivos.
Descompacte o arquivo .zip
que pode em um diretório de sua preferência.
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.
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
.
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.
Acesse o diretório descompactado pelo terminal e digite:
Linux
:python3 lucyLattes.py
Windows
py lucyLattes.py
ou
py -3 lucyLattes.py
relatório
, basta acessar com um navegador (Chrome ou Firefox).Não é mais necessário. Uma função foi adicionada para remover os aquivos.
DataFrame
;.xml
direto do .zip
;.csv
com o extrato de produção na pasta relatório;DONE Remover arquivos csv
da pasta csv_producao
;
.csv
individuais para cada pesquisador[100%]
.html
[100%]
.csv
gerados na pasta csv_producao
config.txt
adicionou-se a opção encoding='utf-8'
.verify.py
foi adicionada a verificacao para as
orientações (nome do curso) seguindo a mesma lógica dos periódicos
(YEAR).Tue 2019-07-23
07:38:14 -04
a condicao de VAZIO para o ano inicial dos
projetos se não constar o ano inicial do projeto o mesmo é excluído
(uma msg é impressa na tela).Windows
, foi implementado funções
para possibilitar o lucyLattes
rodar em sistema operacional
Windows
. Salienta-se a necessidade de mais testes, acredito que faverá
problemas com unicode no arquivo config.txt
.Por padrão os indicadores CAPES estão habilitados, caso queira desabilitar
deve-se editar o arquivo config.txt
.
1 Índice de Orientação (IndOri)
\[IndOri = \frac{(A + 2B)}{DP}\]Avalia as defesas com orientação de docentes permanentes (DP) do programa. A análise leva em consideração o tempo recomendado de titulação, sendo 24 meses para mestrados (A) e 48 meses para doutorado (B). O indicador é calculado para cada ano e depois calculada a média para o quadriênio.
3 Índice de discentes autores (IndAut)
\[IndAut = \frac{E}{F}\]Avalia a proporção de discentes autores (E) em relação ao total de discentes do programa. Foram considerados para o cálculo de E, os discentes e egressos até cinco anos quando autores de artigos, livros, capítulos, trabalho completo em anais e produção técnica (sem apresentação de trabalho). Cabe destacar que a prática de geração de produtos intelectuais após a conclusão do curso é comum; portanto, este indicador tem, como denominador (F), todo o corpo discente do ano em avaliação mais os egressos dos últimos 5 anos que publicaram no referido ano.
4 Índice de produtos com autoria discente (IndDis)
\[IndDis = \frac{G}{F}\]Avalia a quantidade de produtos intelectuais (artigos, livros, capítulos, trabalhos completos em anais e produção técnica - excluindo apresentação de trabalho) de autoria discente ou de egressos até 5 anos, em relação ao total de discentes do programa (G). O denominador leva em consideração todo o corpo discente do ano em avaliação mais egressos dos últimos 5 anos que publicaram no referido ano (F).
5 Índice de Produtividade referente a artigos científicos do Programa (IndProdArt)
\[IndProdArt = \frac{(1 \times A1 + 0,85 \times A2 + 0,7 \times B1 + 0,55 \times B2 + 0,4 \times B3 + 0,25 \times B4 + 0,1 \times B5)}{DP}\]Avalia toda a produção intelectual do programa no formato de artigo científico, sendo que a participação de um docente permanente como autor é condição obrigatória para validar a produção. Os pesos de cada produto foram atribuídos previamente por meio da avaliação dos periódicos científicos - Sistema Qualis Periódicos. De acordo com os estratos atribuídos, os pontos são contabilizados e divididos pelo total de docentes permanentes do programa. O cálculo é anual, sendo realizada a média para o quadriênio posteriormente. Cabe destacar que a pontuação obtida por um programa é o somatório dos pontos obtidos em todos os estratos (A1 até B5). Porém, os pontos obtidos pelo somatório dos estratos B4 e B5, não podem ultrapassar 20% do total de pontos do ano. Assim, valores percentuais superiores a 20\% são glosados.
14 Indicador de distribuição dos docentes permanentes por faixa de IndProd (%DistIndProdDP)
\[DistIndProdDP = DPMB + DPB + DPR\]Nesse caso, calcula-se o IndProd para cada docente permanente e posteriormente os docentes são distribuídos conforme as faixas apresentadas para o IndProd. Feito isso, calculou-se o percentual de docentes permanentes (DP) classificados em cada faixa (MB = muito bom, B = bom, R = regular e F/D = fraco / deficiente) em relação ao corpo docente permanente total. O somatório dos percentuais das faixas MB, B e R permite avaliar o equilíbrio na distribuição da produção docente.
Referências: Ministério da Educação Coordenação de Aperfeiçoamento de Pessoal de Nível Superior Diretoria de Avaliação.
if IndProd < 0.15:
classif = 'DEFICIENTE'
elif IndProd >= 0.15 and IndProd <= 0.29:
classif = 'FRACO'
elif IndProd > 0.29 and IndProd <= 0.79:
classif = 'REGULAR'
elif IndProd > 0.79 and IndProd <= 1.19:
classif = 'BOM'
else:
classif = 'MUITO_BOM'
report.py
foi inserido uma condição para verficar o sistema operacional. Se for Windows o relatorio_producao.html
terá charset=ISO-8859-1
, se for Linux charset=utf-8
.config.txt
é possível desabilitar esta função.config.txt
é possível desabilitar esta função.regex
.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.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.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
).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.scrapper.py
), mas
sem sucesso. A mensagem para os resumos nao capturados foi alterada
para: Nao foi possivel extrair o resumo.scrapper.py
para ppe os limites de seleção foram melhorados..html
é gerado. Para verificar a interação entre os integrantes um Grafo é gerado, assumindo somente as interações entre publicações em periódicos..html
foi iniciado, mas não foi implementado na função ainda..csv
com o nome completo,
sobrenome, e id do pesquisador. Foi iniciado a análise de dados para o
reatório.config.txt
com objetivos de:
.csv
que será utilizado no qualis..xml
foram movidos para a pasta xml_zip
..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..xml
do lattes é possível extrair o nome do projeto, tipo do
projeto, ano de início, e integrantes, etcscraperlattes.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.extrafuns.py
: funções de apoio para minimizar a poluição do códigoindex_capes.py
: calcula os indicadores CAPESJ. 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.