make scraping generic on a per-site basis