Preço Combustíveis
Variação dos preços (em cêntimos)
Semana | Gasolina | Gasoleo |
---|---|---|
7 a 13 de julho 2025 | -2 | N/A |
30 de junho a 6 de julho 2025 | -3,5 | -4 |
23 a 29 de junho 2025 | +3 | +8 |
16 a 22 de junho 2025 | +1 | +1,5 |
9 a 15 de junho 2025 | +0,5 | +0,5 |
2 a 8 de junho 2025 | -0,5 | N/A |
26 de maio a 1 de junho 2025 | -1 | -1,5 |
Gráfico com o valor acumulado da variação
Subscrever a notificações via email
Nota: o pedido pode demorar algum tempo até ser submetido.
Retirar a subscrição às notificações
Prefácio
Como qualquer cidadão português, privilegiado, que utiliza o carro como meio de transporte, gosto sempre de saber a alteração aos preços dos combustíveis para a semana seguinte. Para tal, costumo ir ao website da Contas Poupança onde todas as sextas feiras, em princípio, é publicado um artigo com as alterações dos preços.
Como podem perceber, este ritual é agonizante. Pelos seguintes motivos:
- a imprevisibilidade à alteração aos preços do combustível
- o website não é responsivo e tem anúncios
De forma a não sofrer tanto, criei um pequeno script em Python que faz todo este trabalho e coloca as alterações dos preços num ficheiro CSV, para depois carregá-lo aqui, com a ajuda de uma Github Action com cronjob. Se quiserem, podem consultar o scipt neste repositório.
Script & Automatização
Como referido, extraio o preçário do website da Contas Poupança. No entanto, o webmaster escolheu um protocolo peculiar para o routing das páginas, que é composto por:
- data de publicação
- o intervalo de dias – no formato
3-a-7-de-fevereiro
que quando a semana inclui dois meses se torna em30-de-dezembro-a-3-de-janeiro
- um código, que presumo que seja aleatório
Para resolver este problema, e omitindo toda a lógica de calcular os dias da semana seguinte, utilizei uma expressão
regular que me ajuda a encontrar o link da publicação:
re.compile( rf'/carro/combustiveis/.*-combustiveis--precos-na-proxima-semana--{week_range}--\w+')
A partir daí foi mais simples. Adicionei a lógica de encontrar os valores pretendidos, com expressões regulares, e escrever o resultado para o ficheiro .csv.
Quanto à automatização, que foi o maior obstáculo, utilizei Github Actions com cronjobs para:
- ativar o script que adiciona uma nova entrada no ficheiro .csv e atualize o gráfico
- enviar emails, para quem preencheu o formulário (que está debaixo do gráfico).
Nota final
Quero terminar este pequeno texto clarificando que não estou a lucrar com este serviço; o meu objetivo, neste momento, para além de não ter que ir ao website da Contas Poupança, é testar os limites da disponibilidade da arquitetura que implementei.