Este repositório contém um script Python que automatiza a coleta de dados de cotação do dólar americano (USD) em relação ao real brasileiro (BRL) de um site específico, gera um relatório em PDF com a data, cotação, nome do site e captura de tela da página, e cria um instalador para o programa.
- Possui instalador do programa
- Possui arquivo executável
- Extrai cotações de um site específico
- Gera um relatório em formato Word com:
- Data e hora da extração
- URL do site
- Cotação extraída
- Screenshot da página com a cotação
- Autor do relatório
- Salva o relatório em uma pasta específica
- Converte o arquivo Word para PDF
- Python 3.7 ou superior
- Ter instalado
MS WordouLibreOffice(Caso contrário, será instalado oPandocno sitema automaticamente para executar a conversão do arquivo.docxpara PDF) - Bibliotecas:
| Acesso à Web | Gerenciamento de Arquivos | Manipulação de Dados | Formatação e Conversão |
|---|---|---|---|
selenium |
os |
json |
re |
urllib.request |
tempfile |
datetime |
docx |
shutil |
time |
subprocess |
|
pathlib |
O instalador esta disponível aqui, faça o download e inicie a instalação.
- Clonar o repositório:
git clone https://github.com/eliasalbuquerque/python-scraper-and-report-generator- Instalar as dependências:
pip install -r requirements.txt- Executar o script:
python app.py python .\setup.py buildO executável app.exe estará na pasta .\build\exe.win.
Após executar o script, o app acessará o site definido no arquivo config.json,
extrairá a cotação, gerará o relatório em MS Word e em PDF e o salvará na pasta
reports.
- Edição do módulo
report.py: É necessário editar o móduloreport.pypara personalizar o conteúdo do relatório. - Configuração do arquivo
config.json: É necessário configurar o arquivoconfig.jsonpara usar outros websites.
O software está na primeira versão e precisa de melhorias para uma melhor experiência do usuário. Algumas sugestões:
- Interface Gráfica: Implementar uma interface gráfica para acompanhar o progresso da geração do relatório.
- Entrada de dados: Adicionar a possibilidade de inserir dados como:
- Nome do usuário
- Nome do relatório
- Pasta de destino do relatório
Agradeço a sua contribuição!
