Preço Combustíveis
Variação dos preços (em cêntimos)
Semana | Gasolina | Gasoleo |
---|---|---|
25 a 31 de agosto 2025 | +0,5 | +0,5 |
18 a 24 de agosto 2025 | N/A | -1,5 |
11 a 17 de agosto 2025 | -1,5 | -3,5 |
4 a 10 de agosto 2025 | +2,5 | -0,5 |
28 de julho a 3 de agosto 2025 | -1 | -0,5 |
21 a 27 de julho 2025 | -0,5 | -1,5 |
14 a 20 de julho 2025 | +2 | +3,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.