Lattes-soap

De Manual de Procedimentos da Pró-Reitoria de Pesquisa da UFMG
Ir para: navegação, pesquisa

 

Introdução

O script Lattes-SOAP é responsável pela extração do XML através do webservice disponibilizado pelo CNPq. O webservice utiliza o protocolo SOAP (Simple Object Access Protocol).

Features

  • Acesso ao serviço via proxy.
  • Criação de um proxy (SOCKS5).
  • Compressão dos dados.
  • Entrada do identificador de perfis através de um CSV ou banco de dados MySQL.

Features futuras

  • Requisição através de CPF ou ID Lattes.
  • Download de apenas perfis desatualizados.

Como funciona

O script recebe uma lista de perfis a serem baixados, quando o identificador do perfil recebido for CPF, irá requisitar o ID Lattes correspondente no CNPq. Então irá realizar a requisição do XML de cada perfil, como o perfil é recebido em base64, os processa e, por fim, tem dois componentes como saída:

  1. O arquivo comprimido é gerado na pasta _COMPRESS_DIR_, seu nome é composto pela hora e atual, o path utilizado e o ".tar.gz".
  2. Os arquivos XMLs, cada perfil é um XML, são gerados na pasta _XML_DIR_, sendo o nome do arquivo composto pelo ID Lattes + CPF (quando disponível) seguido de ".xml".

Instalação

Veja na página referente à instalação

Configuração

Para se utilizar o script, é necessário ter definido corretamente os parâmetros. O arquivo deve seguir com base no arquivo default default_lattes-soap.json, localizado em config/default/. Informações sobre obrigatoriedade e valores padrão estão no arquivo default.

Ambiente

Variáveis relacionados ao ambiente são definidas dentro do código do script, da seguinte maneira:

  • LOG_DIR = {raizDoScript}/cache/log
  • XML_DIR = {raizDoScript}/cache/xml/{path}
  • COMPRESS_DIR = {raizDoScript}/cache/compress/{path}

Parâmetros

O arquivo de configuração geral, fica localizado em config/params. Seus parâmetros são:

  • nump: Define o número de processo paralelos para execução do algoritmo. Para saber mais, veja sobre a biblioteca multiprocessing, onde nump define o número de pools.
    • Tipo: int
  • path: Padrão no caminho para salvar o XML comprimidos e os XMLs. Permite manter o XML de diferentes categorias como de docentes, alunos, técnicos etc. Esse valor será usado como sufixo no _XML_DIR_ e _COMPRESS_DIR_.
    • Tipo: str
  • query: Consulta SQL a ser realizada no banco de dados para gerar o arquivo com os usuários. Esse parâmetro se torna necessário caso seja definido o parâmetro database.
    • Tipo: str
  • database: Os parâmetros relacionados ao banco de dados que será usado parar gerar o arquivo com os usuários. Caso não seja definido, será necessário a definição do parâmetro _file_name_.
    • host: Define o endereço no qual o banco de dados está hospedado.
      • Tipo: str
      • Default: Não há.
    • database: Define o nome do banco de dados a ser executada a consulta.
      • Tipo: str
      • Default: Não há.
    • user: Define o nome do usuário de acesso ao banco de dados.
      • Tipo: str
      • Default: Não há.
    • password: Define a senha do usuário ao banco de dados.
      • Tipo: str
      • Default: Não há.
    • charset: Define a codificação dos caracteres (charset) utilizada no banco de dados.
      • Tipo: str
      • Default: Não há.
  • file_name: Necessário quando database não for definido, é o nome do arquivo CSV com a lista de usuários a serem baixados, deve estar localizado em TEMP_DIR. O delimitador de colunas utilizado é definido pelo parâmetro sep.
    • Tipo: str
  • sep: Separador utilizado no arquivo com os usuários a serem baixados.
    • Tipo: str
  • xml_purge: Defina como true caso deva remover os XMLs extraídos anteriormente. Remove apenas XMLs antigos presente no mesmo path.
    • Tipo: bool
  • id_dcl: Parâmetro que define qual tipo de identificador foi utilizado na lista de usuários. Use cpf ou _id_lattes_.
    • Tipo: str
  • comand_server: Quando for utilizar a criação automática de um proxy SOCKS5, o comando deve ser definido nesse parâmetro. Ele irá criar um subprocesso que será executado até o fim do script. Uma maneira de se utilizar esse parâmetro pode ser vista no arquivo de configuração de exemplo do Lattes-SOAP.
    • Tipo: list
  • proxies: Quando for necessário utilizar proxy, o dicionário informando o endereço e porta do proxy devem ser definidos aqui. Testado apenas com proxy SOCKS5.
    • Tipo: dict

Utilização

Toda informação sobre a execução pode ser encontrado no log, em LOG_DIR/lattes-soap{dataDeExecucao}.log. Definido corretamente o arquivo de configuração, a execução do script se torna simples.

Executando

Após definir os parâmetros de configuração no arquivo JSON, basta executar o comando abaixo no qual file é o arquivo de configuração.

UNIQf6e7fda5f20f2c92-pre-00000001-QINU

Retorno

O script retornará 3 dados ao fim de sua execução:

  1. O dado comprimido localizado em COMPRESS_DIR;
  2. Dado descomprimido em XML_DIR;
  3. Log da execução, localizado em LOG_DIR.