Refactor scraping into models