В общем Flask тут не причем
Нужно разобраться с архитектурой такого рода задач
То что вы уже сделали - это только лишь слой представления(View) данных
Это все круто, но эта часть не должна заниматься сбором данных. Она должна читать их из какого-то хранилища в уже готовом виде.
Сбором данных должна заниматься другая система
Если вам хочется питон и не сильно хочется выдумывать велосипеды - я бы рекомендовал взять scrapy и нафигачить там нужных скреперов. В нем же можно организовать pipeline - в котором определить что делать с полученными данными.
Тут есть много путей но я бы рекомендовал вам наиболее простой - писать данные из scrapy в базу данных например mysql, а оттуда уже читать данные в вашем flask-приложении.
В зависимости от объемов может оказаться, что предложенное решение не эффективно.
Так как по сути вы интересуетесь сбором метрик то в боевых условиях я бы рекомендовал использовать специализированные инструменты для сбора и отображения метрик (например связку graphite-grafana)
Вряд ли Ваша связка mysql-самописнаявебморда переплюнет их по производительности качеству и стабильности.
Так что все действительно зависит от объемов и категории задачи ( я имею в виду "это завтра пойдет в продакшн" или "вот для себя пишу разбираюсь")