PriceScraper.
Queria saber se um preço era realmente bom. Construí um caminho entre a página da loja, preços atuais e mínimos consultáveis e uma resposta rápida no Telegram.
Um número sozinho conta pouco.
Olhar uma oferta isolada não mostra como o preço mudou. O PriceScraper reúne dados de produtos, preços atuais e os menores preços registrados para que uma consulta tenha contexto, sem exigir que eu abra várias páginas e anote valores manualmente.
Da loja à conversa.
Coletar
Uso requests e BeautifulSoup para ler o HTML e extrair os campos que interessam à consulta, como produto e preço.
Guardar
O SQLite guarda o preço atual, o menor preço registrado e os timestamps de cada produto. O esquema atual não mantém uma linha separada para cada observação.
Consultar
O bot no Telegram transforma uma pesquisa em uma resposta curta, usando os dados já coletados.
Um preço ganha contexto.
Escolha um produto e percorra quatro observações sintéticas. Esta ilustração explica a comparação; o repositório guarda valores atuais e mínimos, sem uma série temporal completa.
O tamanho certo para a ferramenta.
Escolhi SQLite porque o projeto precisava de registros de preços e consultas, mas não de infraestrutura para um serviço de banco. É simples de executar localmente e suficiente para esse escopo.
O ponto mais frágil é o HTML de lojas: seletores podem mudar. Por isso, a extração precisa ficar clara e separada do armazenamento, facilitando identificar quando a página mudou e o parser precisa de ajuste.
Mais de 3 mil itens organizados.
Na execução original do projeto, o coletor reuniu dados de mais de 3 mil produtos. O bot é um protótipo pessoal, sem disponibilidade contínua prometida. O bot oferece uma forma rápida de pesquisar um item e comparar seu preço atual ao menor preço registrado. Foi um projeto em que coleta, modelagem de dados e interface precisaram funcionar como um fluxo só.