Rewrite scraper to be more modular, and convert the Coursera crawler to the new model