Loading repository data…
Loading repository data…
ericbrasiln / repository
Esse repositório é parte dos projetos desenvolvidos pelos membros do LABHDUFBA e tem como objetivo oferecer ferramentas de raspagem, organização e análise de artigos ciêntíficos publicados na plataforma Scielo.br.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
Veja a documentação completa em https://labhdufba.github.io/ferramentas_scielo_v2/
No ano de 2020, desenvolvemos uma ferramenta para raspagem da base de artigos do Scielo.br. A ferramenta, escrita em Python, utilizava a biblioteca BeautifulSoup para coletar os dados. Entretanto, em 2021 o repositório Scielo.br passou por uma reestruturação completa.
Foi necessário, consequentemente, a reconstrução da ferramenta para lidar com a nova versão do site. Agora, utilizamos o Selenium para acessar e raspar os dados do repositório.
Com a ferramentas_scielo_v2 é possível realizar a raspagem por área do conhecimento ou por revista (ou uma lista de revistas). Também é possível optar pelo tipo de raspagem: apenas XML ou XML e PDFs.
Também disponibilizamos uma ferramenta para converter os XMLs para CSV, com o script scielo_xml_to_csv/run.py.
Para executar a ferramenta é preciso clonar ou fazer download do repositório para sua máquina. Antes de executar os scripts, é preciso preparar seu computador, como mostramos abaixo.
A ferramentas desse projeto foram escritas em Python 3.8. Portanto, para executar o arquivo .py é preciso instalar o Python3 em seu computador.
Clique aqui para acessar um tutorial de instalação do Python no Windows, clique aqui para Linux e clique aqui para Mac.
Após a instalação do Python é preciso instalar as bibliotecas necessárias para a ferramenta ser executada. Para isso, basta executar o comando no terminal, a partir da pasta onde está o arquivo. Para saber mais sobre instalação de bibliotecas com pip, veja essa lição do .
pip3 install -r requirements.txtrequirements.txt está salvo:
$ cd <caminho para a pasta>
pip3 install -r requirements.txt
Para que a ferramenta funcione, é necessário ter instalado o navegador Mozilla Firefox. Além disso, é necessário ter instalado o WebDriver do Mozilla Firefox, GeckoDriver.
Para acessar a versão mais recente do GeckoDriver visite o repositório do Mozilla no GitHub. É possível encontrar mais informações oficiais aqui.
Para inserir o webdriver no PATH de sistemas Unix e Windows, leia essa questão no StackOverflow.
Agora é possível executar a ferramenta direto do prompt de comando do Windows ou pelo terminal do Linux, ou utilizar as diversas IDE disponíveis.
Na pasta da ferramenta existem dois arquivos python que permitem a execução de opções distintas de raspagem. O primeiro, scielo_v2.py, permite a raspagem de todas as revistas de uma determinada área do conhecimento. O segundo, scielo_rev_v2.py, permite a raspagem por revista ou lista de revistas específicas.
Esse script permite ao usuário selecionar qual assunto pretende raspar de acordo com a categorização estabelecida pela plataforma Scielo.br.
Para isso é preciso executar o seguinte comando, do interior da pasta onde o arquivo está localizado:
python3 scielo_v2.py
A seguinte mensagem será exibida:
-=-Definição da área temática-=-
- Opções:
1- Ciências Agrárias
2- Ciências Biológicas
3- Ciências da Saúde
4- Ciências Exatas e da Terra
5- Ciências Humanas
6- Ciências Sociais Aplicadas
7- Engenharias
8- Linguística, Letras e Artes
Digite o número correspondente à área temática que deseja raspar:
Após a definição do assunto, é preciso definir o tipo de raspagem:
1;2.:warning: Devido ao volume de dados, contando dezenas de milhares de artigos, o download de todos os arquivos PDF demandará muito tempo e uso intenso de sua máquina.
:warning: Os arquivos XML possuem todos os metadados dos artigos, incluindo o texto completo e as referências bibliográficas.
Nesse script é possível raspar uma revista ou uma lista de revistas específicas através de seu nome.
Possui as mesmas características do scielo_v2.py, porém a definição da(s) revista(s) a ser(em) raspada(s) é feita através da abreviação do nome da revista conforme URL da revista no site do Scielo.br.
Por exemplo, se vc pretende raspar os arquivos da revista Almanack, acesse a página inicial da revista no repositório e encontre a abreviação de seu título na URL.
https://www.scielo.br/j/alm/
Nesse caso, o abreviação do nome da revista é alm. Esse termo deve ser informado para o programa.
-=- Definição da(s) revista(s) -=-
Digite a abreviação da revista que deseja raspar: alm
Deseja inserir outra? [S/N]
:warning: Atenção
Ambos os scripts criarão diretórios para armazenar os arquivos e dados.
scielo/{AAAA-MM-DD}/PDF/{nomeDaRevista} no caso da raspagem de PDFs;scielo/{AAAA-MM-DD}/XML/{nomeDaRevista} no caso da raspagem de XMls.Entretanto, se a pasta com o nome de uma revista já existir no mesmo caminho que o programa está sendo executado, só serão baixados arquivos que ainda não existem.
Após o download dos arquivos XML é possível utilizar a ferramenta scielo_xml_to_csv para converter todos os XML para um arquivo csv.
Acesse a pasta scielo_xml_to_csv e execute o arquivo run.py.
Esses scripts têm como objetivos analisar, selecionar, organizar e salvar informações de um dataset de arquivos XML de todas as revistas previamente baixados em um arquivo CSV.
O run.py acessa o diretório contendo as pastas de cada revista e analisa cada XML, inserindo os dados em um arquivo CSV salvo com o nome metadata_{revista}.csv.
:warning: É preciso definir o caminho do diretório com o dataset. E a estrutura desse dataset deve conter diretórios de cada revista (ou edições) com seus arquivos XML a serem analisados.
As seguintes informações são inseridas no CSV:
Em seguida, com a função df_final(), todos os arquivos CSV são unidos em um único dataframe com Pandas e salvos em um CSV chamado metadata_scielo_{yyyy-mm-dd_H-M-S}.csv.
Elementos presentes nesse repositório foram retirados de Scielo_Journal_Metadata_Downoader, criado por johnsgomez
É possível clicar em Cite this repository na aba à direita nesse repositório para acessar a citação nos formatos APA e BibTex, ou ainda acessar o arquivo da citação em formato .cff.
Abaixo a citação no formato BibTex:
@software{brasil_eric_2022_5168727,
author = {Brasil, Eric and
Nascimento, Leonardo and
Andrade, Gabriel and
Barbosa, Jorge},
title = {Ferramentas Scielo v2},
month = sep,
year = 2022,
note = {{Se você utilizar esse programa, por favor cite
como referenciado abaixo.}},
publisher = {Zenodo},
version = {2.2},
doi = {10.5281/zenodo.5168727},
url = {https://doi.org/10.5281/zenodo.5168727}
}