create a scraper module

Wanted to split it out for easier testing/refactoring, so that I can confidently switch to using the CLI (instead of the HTTP) interface to the scraper later.
Would it be worth testing this separately?