scraper framework