to better understand how to design. you can look most popular open source scrappers
python:
https://scrapy.org
http://docs.pyspider.org/en/latest/
javascript:
https://github.com/apify/crawlee
https://sdk.apify.com
https://github.com/bda-research/node-crawler
java:
https://nutch.apache.org
https://github.com/yasserg/crawler4j