image

Bolsas de estudo DIO PRO para acessar bootcamps ilimitados

Disponible sólo:

157 vacantes
Mayra Carvalho
Mayra Carvalho23/02/2026 09:39
Compartir
Microsoft Azure Cloud Native 2026Recomendado para tiMicrosoft Azure Cloud Native 2026

Projeto Base: Automação para Download de Artigos Acadêmicos (RPA com Python)

    Visão Geral do Projeto

    Este projeto consiste em um script de automação (RPA - Robotic Process Automation) desenvolvido em Python com o objetivo de otimizar a busca e o download de artigos científicos. O bot lê identificadores de artigos (como DOIs), controla o computador para acessar a base do Sci-Hub de forma automatizada, realiza o download do documento em PDF e, ao final, gera um relatório detalhado (log) informando o status de cada tentativa (sucesso ou falha).

    O Problema

    Pesquisadores e estudantes frequentemente gastam muito tempo realizando buscas manuais, copiando links e baixando PDFs um a um. Além disso, quando se trata de uma grande quantidade de referências bibliográficas, o controle do que já foi baixado ou do que apresentou erro de acesso torna-se caótico e suscetível a falhas.

    A Solução

    Para resolver essa dor, criei um robô que:

    1. Lê uma base de dados (planilha) contendo a lista de artigos a serem buscados.
    2. Assume o controle do mouse e teclado para navegar automaticamente até o site de busca.
    3. Realiza a pesquisa e comanda o download do arquivo PDF (quando disponível).
    4. Localiza o arquivo recém-baixado no computador e o organiza em um diretório específico.
    5. Registra toda a operação atualizando a planilha com o status final (sucesso ou falha), permitindo uma auditoria fácil ao final do processo.

    Tecnologias e Bibliotecas Utilizadas

    • Linguagem: Python 3.x
    • Bibliotecas Principais:
    • pandas: Utilizada para a ingestão dos dados de entrada (lista de artigos) e para a estruturação e exportação do log final com os resultados da automação.
    • pyautogui: Responsável por toda a interação com a interface gráfica do sistema (RPA), simulando cliques de mouse, digitação de texto e atalhos de teclado no navegador.
    • os: Para interagir com o sistema operacional, criar pastas de destino e renomear ou mover os arquivos baixados.
    • glob: Utilizada em conjunto com a biblioteca os para buscar e identificar dinamicamente os arquivos PDF mais recentes na pasta de downloads.
    • time: Essencial para o gerenciamento de pausas (sleep) e sincronização do script, garantindo que o robô aguarde o carregamento das páginas web e a conclusão dos downloads antes de seguir para o próximo passo.

    Principais Desafios e Aprendizados

    • Sincronização de Interface e Tempos de Resposta: Um dos maiores desafios ao usar o pyautogui é lidar com as variações de tempo de carregamento da internet. Aprendi a estruturar o código usando a biblioteca time para criar pausas estratégicas, evitando que o robô tentasse clicar em elementos antes deles aparecerem na tela.
    • Manipulação e Rastreio de Arquivos: Quando baixamos vários arquivos, gerenciar para onde eles vão é complexo. O uso combinado de os e glob me ensinou a varrer diretórios (como a pasta de Downloads padrão) para capturar dinamicamente o último PDF modificado, garantindo que o artigo certo fosse movido para a pasta final do projeto.
    • Geração de Logs Integrada: A experiência de consolidar os resultados lendo e escrevendo DataFrames com o pandas demonstrou a importância de manter o controle sobre processos em lote. Agora é possível saber exatamente quais artigos falharam para uma possível intervenção manual.

    Disclaimer (Aviso Ético/Legal)

    Este projeto foi desenvolvido com propósitos estritamente educacionais e de estudo prático sobre Automação de Processos (RPA), manipulação de interfaces gráficas e gestão de arquivos com Python. É importante sempre verificar os termos de uso e os direitos autorais dos sites acessados via scripts automatizados.

    https://github.com/maebc/Economizando-com-Python

    Compartir
    Recomendado para ti
    Riachuelo - Cibersegurança
    Microsoft Certification Challenge #5 - AZ-204
    Microsoft Certification Challenge #5 - DP 100
    Comentarios (0)
    Recomendado para tiMicrosoft Azure Cloud Native 2026