Um projeto Python para automatizar o download e extração de arquivos de cursos hospedados no Google Drive, utilizando processamento paralelo para maior eficiência. Este projeto é ideal para gerenciar grandes volumes de downloads de forma automatizada.
-
Download Automático:
- Realiza o download de arquivos do Google Drive a partir de links especificados em um arquivo CSV.
- Verifica se o arquivo já foi baixado, evitando duplicações.
-
Extração de Arquivos:
- Extrai arquivos compactados no formato
.rarpara diretórios específicos. - Realiza verificações para garantir a integridade dos arquivos extraídos.
- Extrai arquivos compactados no formato
-
Execução Paralela:
- Utiliza
ThreadPoolExecutorpara realizar downloads e extrações simultaneamente, otimizando o desempenho.
- Utiliza
-
Log Detalhado:
- Registra todas as etapas do processo e possíveis erros no arquivo
download_logs.log.
- Registra todas as etapas do processo e possíveis erros no arquivo
git clone https://github.com/RaFeltrim/AutoCourseDownloader.git
cd AutoCourseDownloaderCertifique-se de ter o Python instalado (>=3.8). Em seguida, instale os pacotes necessários:
pip install -r requirements.txtAbra o arquivo links.csv e insira os links e nomes dos arquivos no seguinte formato:
Nome,Link
Curso de Python Básico,https://drive.google.com/file/d/EXEMPLO2/view?usp=sharingInicie o processo de download e extração:
python main2.py- Os arquivos baixados serão extraídos automaticamente para a pasta
downloads. - Consulte o log em
download_logs.logpara verificar o status de cada download e extração.
AutoCourseDownloader/
│
├── links.csv # Lista de links e nomes dos arquivos
├── main2.py # Script principal
├── requirements.txt # Dependências do Python
├── download_logs.log # Logs de execução
└── README.md # Documentação do projeto
- Python: Linguagem de programação para automação e manipulação de arquivos.
- gdown: Para realizar downloads de arquivos do Google Drive.
- patoolib: Utilizada para extrair arquivos compactados no formato
.rar. - pandas: Para manipulação de dados em CSV.
- ThreadPoolExecutor: Para execução paralela de downloads e extrações.
- logging: Para gerenciar logs detalhados das operações.
Este projeto permitiu o desenvolvimento das seguintes habilidades:
- Automação de processos repetitivos usando Python.
- Gerenciamento eficiente de dependências e estruturação de projetos.
- Implementação de execução paralela com
ThreadPoolExecutorpara otimização de desempenho. - Manipulação de arquivos e integração com bibliotecas externas.
Contribuições são bem-vindas! Sinta-se à vontade para abrir issues ou enviar pull requests. Todo tipo de ajuda é apreciado.
Criado por Rafael Feltrim. Para dúvidas ou sugestões, entre em contato pelo e-mail: rafeltrim@gmail.com