Case studies
Monitor ogłoszeń KAS - scraping i alerty niemal w czasie rzeczywistym
Daemon, który co 2,5 sekundy skanuje strony z ogłoszeniami KAS i urzędów skarbowych, wykrywa nowe oferty sprzedaży, przygotowuje e-mail ze zgłoszeniem na podstawie danych z ogłoszenia i raportuje każdy krok na Discordzie.
Aktualizacja case study:
Klient i kontekst
Proces operacyjny zbudowany wokół zakupu składników majątku z publicznych ogłoszeń KAS i urzędów skarbowych, w którym wygrywa pierwszy zgłaszający.
Problem biznesowy
Proces działa w modelu "kto pierwszy, ten lepszy". Ręczne sprawdzanie stron było wolne i podatne na błędy, a zmieniające się zachowanie serwisów zwiększało ryzyko przeoczenia ogłoszenia.
Podejście i rozwiązanie
Zbudowałem modularny daemon, który skanuje źródła według harmonogramu, deduplikuje ogłoszenia po hashu strony, klasyfikuje typ oferty, kompletuje wymagane dane i automatycznie uruchamia wysyłkę e-maila ze zgłoszeniem. Tam, gdzie zwykły scraping HTTP był zawodny, działa fallback na Playwright.
Zakres realizacji
- Skanowanie co 2,5 s z harmonogramem opartym o okna czasowe i różne częstotliwości.
- Deduplikacja i idempotentny pipeline powiadomień z trwałym stanem w SQLite.
- Ekstrakcja pól i szablony e-maili według typu ogłoszenia z rejestrowaniem statusów wysyłki.
- Fallback Playwright dla stron, na których czysty scraping HTTP nie był niezawodny.
- Wdrożenie pod systemd z auto-restartem, logowaniem oraz trybami daemon, run-once i dry-run.
- Integracja z Discordem dla pełnej obserwowalności: nowe ogłoszenia, akcje aplikacji, wysłane wiadomości.
Efekt biznesowy
- Zespół dostaje informację w kilka sekund od publikacji ogłoszenia.
- Krótszy czas od pojawienia się ogłoszenia do wysłania kompletnego zgłoszenia e-mail.
- Brak zduplikowanych alertów i ręcznego sprawdzania stron.
- Stały podgląd operacyjny na Discordzie bez czytania logów i skrzynek.
- Stabilna podstawa monitoringu gotowa na kolejne źródła.