Как правильно распределить нагрузку в программе?
про асинхронный неправильно, щас лень картинки искать
вообще посмотри на multicurl если че, дешево и сердито
если же серьезно - есть Scrapy и Grablib для начинающих и кончающих (один топик на АпВорке с $10 000 бюджетом для Scrapy чего стоит) скраперов
еще серьезнее вот такие штуки, можешь заценить там даунлоадер, ну или сразу переделать под свои нужды
Делаешь парсер для каждого сайта в отдельном файле, потом используешь https://www.gnu.org/software/parallel/