Это не будет работать из-за ограничений API.
В принципе, ваша идея в порядке. Я думаю, что это не сработает из-за определенных ограничений.
Если вы считаете, этот сайт - у YouTube более 23 миллионов каналов (по состоянию на декабрь 2018 года).
YouTube имеет некоторые ограничения на запросы, из документации YouTube:
Проекты, в которых включен API данных YouTube, имеют квоту по умолчанию
выделение 10 тысяч единиц в сутки , сумма, достаточная для
Подавляющее большинство наших пользователей API. Квота по умолчанию, которая
может быть изменено, помогает нам оптимизировать распределение квот и
инфраструктура таким образом, чтобы это было более значимым для наших пользователей API. Вы
Вы можете увидеть использование квоты на вкладке Использование API в Google.
Консоль разработчика.
Предполагая, что у вас включена эта функция, похоже, что вам выделено 10 тыс. Единиц в день, и каждый из ваших поисковых запросов стоит 100 единиц .
Это означает, что вы можете вызывать API поиска 100 раз (исчерпав свои единицы перед вызовом API каналов) - что с флагом максимального результата (50 MAX) должно давать вам 5K результатов в день.
Если это число больше, чем у людей, которые публикуют каждый день в течение этого 24-часового промежутка времени, у вас все будет хорошо, и в конечном итоге вы можете получить некоторые важные данные. Но вы не можете получить все данные через вызовы API. Вы будете ограничены вызовами API.
Если количество опубликованных видеофайлов в день превышает 5 КБ (что, я думаю, в любом случае должно быть намного выше), вы потеряете много данных.
Это довольно часто, но есть и лучшие способы.
(Это может не относиться к YouTube, просто рекомендация в целом)
У нас есть что-то похожее на то, что вы описали для внутреннего использования - периодически принимает источник данных. Так что да, в отрасли довольно стандартно иметь работу cron, чтобы делать что-то подобное. ** Лучший способ **, который требует другой архитектуры, был бы чем-то вроде веб-крючков. По сути, каждый раз, когда изменяется статистика, вы в конечном итоге уведомляете заинтересованные стороны, что что-то изменилось. См. Pub / Sub pattern для получения дополнительной информации.