Spec for defining a scraper.
body() :: String.t()
opts() :: map()
page() :: %Crawler.Store.Page{ body: body(), opts: opts(), processed: term(), url: url() }
url() :: String.t()
scrape(page()) :: {:ok, page()}