Как получать аналитику (т.е. просмотры, подписчики) на ежедневной основе любого случайного канала YouTube без разрешения

Я работаю над проектом, в котором хочу показать статистику каналов конкурентов на YouTube.

Мне нужно показать просмотры в день, подписчиков в день, видео в день с даты создания канала конкурента до текущей даты.

Поскольку у меня нет разрешения на канал конкурента, я не могу напрямую использовать YouTube Analytics Api.

Но я знаю, что это возможно, потому что веб-сайт socialblade показывает статистику канала (без разрешения, потому что я проверил свой собственный канал на socailblade и не давал никакого разрешения). https://socialblade.com/youtube/channel/UCAiKrZDrrSJnLpDM-zEVyng

Я пытался использовать API аналитики YouTube, но появляется ошибка ЗАПРЕЩЕНО, и это очевидно, что я не могу получить доступ к личным данным без разрешения.

Итак, есть ли способ получить статистику канала YouTube без разрешения на доступ?


person Rahul Saini    schedule 27.03.2019    source источник


Ответы (2)


Итак, есть ли способ получить [частную] статистику канала YouTube без разрешения доступа?

Нет, ты не можешь. Вам нужно все еще понимать разницу между личными и общедоступными данными. Общедоступные данные — это данные, к которым может получить доступ любой желающий. Общедоступные видео на YouTube, например

Частные данные — это данные, которыми владеет пользователь. Хорошим примером этого может быть аналитика для канала на YouTube. Вы не можете получить доступ к такой информации без разрешения пользователя, которому она принадлежит. Google, предоставляющий вам доступ к личным данным пользователя без предоставления пользователем доступа, полностью отменяет термин частный.

socialblade и моя догадка

Веб-сайт Socialblade, вероятно, проводит собственную внутреннюю аналитику, используя общедоступные данные, доступные из API данных YouTube. Я предлагаю вам сделать то же самое. Мне кажется, что они просто сканируют все видео и ранжируют их по количеству подписчиков, а затем, вероятно, по голосам.

Повторяющийся вопрос

Это почти тот же ответ, который я дал вам на прошлой неделе, когда вы спросили немного другую формулировку Youtube.analytics.query API, выдающую запрещенную ошибку Если вы спросите об одном и том же дважды, это не приведет к лучшему результату.

person DaImTo    schedule 27.03.2019
comment
@DalmTo спасибо, что ответили мне еще раз, я просто хочу узнать, как они (socailblade) использовали доступные общедоступные данные. Есть ли у вас какие-либо идеи, какие общедоступные API они использовали для определения просмотров и подписчиков в определенный день? - person Rahul Saini; 28.03.2019
comment
возможно список видео, но я не думаю, что это поможет вам в тот день, когда они вероятно, регулярно извлекают данные и кэшируют данные, тогда они могут увидеть разницу в течение нескольких дней. - person DaImTo; 28.03.2019
comment
Я также думал, что они делают регулярные вытягивания, но я проверил новый канал, который был создан недавно и никогда не использовался на Socialblade. Но они показывают полную аналитику этого канала с даты создания. - person Rahul Saini; 28.03.2019
comment
Было бы несложно каждый день запускать скрипт для поиска новых каналов, а затем сохранять в нем данные на тот случай, если кому-то понадобятся эти данные. Это просто вопрос мощности компьютера для выполнения запросов и хранения базы данных. Вы можете делать с общедоступными данными все, что захотите - person DaImTo; 28.03.2019
comment
Если я создам сценарий с использованием channel.list для получения статистика всех каналов YouTube на ежедневной основе будет получать данные и далее. Знаете ли вы какой-либо способ получить данные за прошедшие дни? - person Rahul Saini; 01.04.2019

Вы можете использовать это, чтобы получить количество подписчиков в python.

channel_id = input("what channel do you want to find the subscribers for? (please enter channel id, not username) >> ")

channel_url = "https://www.youtube.com/channel/" + channel_id
    
read_channel_info = str(uopen(channel_url).read())
    
print("The user you are searching for has",find("[0-9|\.]+[M|K]? subscriber",read_channel_info)[0][:-11], "subscribers.")

Но вы не отметили ни одного языка кода, поэтому я не уверен на сто процентов, о чем вы просите. Надеюсь это поможет. Также не стесняйтесь комментировать этот пост и рассказывать мне, помогло ли это!

person BurnDownTheWorld    schedule 13.11.2020