I see this follows the current pattern of raising RuntimeError but we should probably define a ScraperError and use that in future.