Înapoi la portofoliu
Tool

Imobiliare Scraper

Scraper automat pentru anunțuri imobiliare de pe Storia și OLX, cu procesare asincronă prin Celery și API REST pentru interogarea datelor colectate.

Stack principal

Python
Django
Django REST Framework
Celery
Redis BeautifulSoup4 PostgreSQL requests

Provocarea

Storia și OLX folosesc structuri HTML diferite și schimbă periodic selectoarele CSS, ceea ce face ca scraper-ele rigide să se strice la fiecare redesign. În plus, request-urile prea frecvente declanșează rate limiting și blocarea IP-ului.

Soluția

Parsare bazată pe atribute semantice (data-cy, aria-label) mai stabile decât clasele CSS. Celery beat pentru programarea task-urilor cu delay aleatoriu între request-uri. Redis pentru caching temporar al paginilor deja vizitate în aceeași sesiune de scraping, reducând request-urile duplicate.

Complexitate notabilă

Imobiliare Scraper este un tool backend care colectează automat anunțuri imobiliare de pe platformele Storia și OLX România. Datele sunt normalizate și stocate într-o bază de date relațională, accesibilă printr-un API REST construit cu Django REST Framework. Procesarea scraping-ului se face asincron prin Celery cu Redis ca broker de mesaje, permițând rularea de task-uri paralele fără a bloca API-ul. Task-urile pot fi programate periodic (cron) sau declanșate manual prin API. BeautifulSoup parsează HTML-ul paginilor de listare și detaliu, extragând prețul, suprafața, numărul de camere, localizarea și URL-ul original al anunțului. Datele duplicate sunt detectate prin hash pe URL și ignorate la re-scraping.

Vrei ceva similar?

Începe cu wizard-ul de estimare — răspunzi la câteva întrebări și primești un range de preț + timeline realist.