Извлечение плейлиста YouTube Disco

#youtube #api

#YouTube #API

Вопрос:

На YouTube есть классная штука, которая создает «умный плейлист» из некоторых начальных ключевых слов. Я хотел бы получить программный доступ к плейлисту. Я нашел API данных YouTube, но в нем не обсуждается функция «disco».

В одном из приведенных ниже ответов предлагается использовать

http://www.youtube.com/disco?action_search=1amp;query=XXXXXXXXX

это вернет некоторый JSON с первым воспроизводимым видео и list свойством. К сожалению, list это 32-символьная шестнадцатеричная строка, тогда как обычные идентификаторы плейлиста представляют собой 16-символьные шестнадцатеричные строки. Это означает, что стандартный API данных для извлечения полного плейлиста не работает.

Есть предложения?

Ответ №1:

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

Позвольте мне использовать пример:

Я хотел создать Smashing Pumpkins. Я ввел имя исполнителя и нажал кнопку «Disco!». Используя Fiddler2, я выяснил, что запрошенный URL-адрес был:

 www.youtube.com/disco?action_search=1amp;query=smashing pumpkins
  

Обратите внимание, что пробелы заменены на . В качестве ответа я получил простой ответ в формате JSON:

 {"url": "/watch?v=bhMz7x1ZaGMu0026feature=discou0026playnext=1u0026list=MLGxdCwVVULXe5-F4X_zm6wnblRsnXoPJS"}
  

Это была ссылка на первую песню из свежесгенерированного плейлиста Smashing Pumpkins, адрес которой был list=MLGxdCwVVULXe5-F4X_zm6wnblRsnXoPJS . Все, что вам нужно знать, это заменить u0026 на amp; , и вы получите действительную ссылку.

Я предполагаю, что магия rest, которую вы хотите сделать, доступна через официальный API данных YouTube. Я надеюсь, что мои исследования помогут вам.

Редактировать

Что ж, похоже, что этот плейлист, созданный youtube / disco, не является плейлистом того же типа, который могут создавать пользователи и который доступен через API. Идентификатор списка длиннее, чем обычно, и когда вы нажимаете «Подробнее о плейлисте», вы перенаправляетесь на профиль исполнителя. Основываясь на этих двух фактах, я предполагаю, что сгенерированные списки невозможно восстановить с помощью API. Извините.

Комментарии:

1. Формат плейлиста, похоже, не совпадает со стандартным 16-символьным шестнадцатеричным идентификатором.

2. Ну, как я уже сказал, я не знаком с API Youtube. Я только что предоставил вам способ сбора плейлиста, созданного функцией disco. С остальным вам придется справляться самостоятельно. Если этот формат блокирует вас, может быть, это вообще невозможно?

3. @Randomblue: Как я упоминал в части редактирования, я думаю, что невозможно получить запрошенную вами функциональность. Я даже пересмотрел исходный код, но нет никаких признаков типичного идентификатора списка.

Ответ №2:

@Randomblue, как именно вы хотите получить этот плейлист? Вы можете использовать шестнадцатеричный символ 32 в этом URL, чтобы получить страницу с подробным описанием плейлиста

 https://www.youtube.com/playlist?list={HEX}
  

или в iframe встроенного плейлиста, например:

 <iframe width="853" height="480" src="//www.youtube.com/embed/videoseries?list={HEX}" frameborder="0" allowfullscreen></iframe>