refactor scraper to supports scraper chain, which is used to crawl urls and final scraper to extract data. see scraper test case.