Нам нужен список видео по названию канала YouTube (используя API).
Мы можем получить список каналов (только название канала), используя следующий API:
https://gdata.youtube.com/feeds/api/channels?v=2&q=tendulkar
Ниже прямая ссылка каналов
https://www.youtube.com/channel/UCqAEtEr0A0Eo2IVcuWBfB9g
Или
WWW.YouTube.com/channel/HC-8jgBP-4rlI
Теперь нам нужны видео канала >> UCqAEtEr0A0Eo2IVcuWBfB9g или HC-8jgBP-4rlI.
Мы попытались
https://gdata.youtube.com/feeds/api/videos?v=2&uploader=partner&User=UC7Xayrf2k0NZiz3S04WuDNQ https://gdata.youtube.com/feeds/api/videos?v=2&uploader=partner&q=UC7Xayrf2SWZZ
Но это не помогает.
Нам нужны все видео, размещенные на канале. Видео, загруженное на канал, может быть от нескольких пользователей, поэтому я не думаю, что предоставление параметра пользователя могло бы помочь ...
youtube
youtube-api
Раджендра Девани
источник
источник
Ответы:
Вам нужно взглянуть на API данных YouTube . Там вы найдете документацию о том, как получить доступ к API. Вы также можете найти клиентские библиотеки .
Вы также можете сделать запросы самостоятельно. Вот пример URL, который извлекает последние видео из канала:
После этого вы получите
JSON
видео с идентификаторами и деталями видео, и вы можете создать URL своего видео следующим образом:источник
maxResults=20
(до 50) видео, но не весь каталог каналов. Если вы хотите больше результатов, используйте pageToken, как описано здесь .Во-первых, вам нужно получить идентификатор списка воспроизведения, который представляет загрузки от пользователя / канала:
https://developers.google.com/youtube/v3/docs/channels/list#try-it
Вы можете указать имя пользователя с помощью
forUsername={username}
параметра или указать,mine=true
чтобы получить свое собственное (сначала необходимо пройти аутентификацию). Включите,part=contentDetails
чтобы увидеть плейлисты.GET https://www.googleapis.com/youtube/v3/channels?part=contentDetails&forUsername=jambrose42&key={YOUR_API_KEY}
В результате
"relatedPlaylists"
будут включены"likes"
и"uploads"
плейлисты. Возьмите этот"upload"
идентификатор плейлиста. Также обратите внимание, что"id"
это ваш идентификатор канала для дальнейшего использования.Далее, получите список видео в этом плейлисте:
https://developers.google.com/youtube/v3/docs/playlistItems/list#try-it
Просто загляните в плейлист!
GET https://www.googleapis.com/youtube/v3/playlistItems?part=snippet%2CcontentDetails&maxResults=50&playlistId=UUpRmvjdu3ixew5ahydZ67uA&key={YOUR_API_KEY}
источник
Вот видео от разработчиков Google, показывающее, как составить список всех видео на канале
v3
API YouTube.Есть два шага:
Каналы запросов для получения идентификатора «закачек». например
https://www.googleapis.com/youtube/v3/channels?id={channel Id}&key={API key}&part=contentDetails
Используйте этот идентификатор «uploads» для запроса PlaylistItems, чтобы получить список видео. например
https://www.googleapis.com/youtube/v3/playlistItems?playlistId={"uploads" Id}&key={API key}&part=snippet&maxResults=50
источник
Чтобы получить список каналов:
Получить список каналов по forUserName :
https://www.googleapis.com/youtube/v3/channels?part=snippet,contentDetails,statistics&forUsername=Apple&key=
Получить список каналов по идентификатору канала :
https://www.googleapis.com/youtube/v3/channels/?part=snippet,contentDetails,statistics&id=UCE_M8A5yxnLfW0KghEeajjw&key=
Получить разделы канала:
https://www.googleapis.com/youtube/v3/channelSections?part=snippet,contentDetails&channelId=UCE_M8A5yxnLfW0KghEeajjw&key=
Чтобы получить плейлисты:
Получить плейлисты по идентификатору канала :
https://www.googleapis.com/youtube/v3/playlists?part=snippet,contentDetails&channelId=UCq-Fj5jknLsUf-MWSy4_brA&maxResults=50&key=
Получить плейлисты по идентификатору канала с pageToken :
https://www.googleapis.com/youtube/v3/playlists?part=snippet,contentDetails&channelId=UCq-Fj5jknLsUf-MWSy4_brA&maxResults=50&key= & pageToken = CDIQAA
Чтобы получить PlaylistItems:
Получить PlaylistItems список от PlayListId :
https://www.googleapis.com/youtube/v3/playlistItems?part=snippet,contentDetails&maxResults=25&playlistId=PLHFlHpPjgk70Yv3kxQvkDEO5n5tMQia5I&key=
Чтобы получить видео:
Получить список видео по идентификатору видео :
https://www.googleapis.com/youtube/v3/videos?part=snippet,contentDetails,statistics&id=YxLCwfA1cLw&key=
Получить список видео по нескольким идентификаторам видео :
https://www.googleapis.com/youtube/v3/videos?part=snippet,contentDetails,statistics&id=YxLCwfA1cLw,Qgy6LaO3SB0,7yPJXGO2Dcw&key=
Получить список комментариев
Получить список комментариев по идентификатору видео :
https://www.googleapis.com/youtube/v3/commentThreads?part=snippet,replies&videoId=el **** kQak & key = A ********** k
Получить список комментариев по идентификатору канала :
https://www.googleapis.com/youtube/v3/commentThreads?part=snippet,replies&channelId=U ***** Q & key = AI ******** k
Получить список комментариев по всем ThreadsRelatedToChannelId :
https://www.googleapis.com/youtube/v3/commentThreads?part=snippet,replies&allThreadsRelatedToChannelId=UC ***** ntcQ & key = AI ***** k
Здесь все API-интерфейсы Get подход.
Основываясь на идентификаторе канала, мы не можем получить все видео напрямую, это важный момент.
Для интеграции https://developers.google.com/youtube/v3/quickstart/ios?ver=swift
источник
Ниже приведена альтернатива Python, которая не требует специальных пакетов. Предоставляя идентификатор канала, он возвращает список ссылок на видео для этого канала. Обратите внимание, что для работы вам необходим ключ API .
источник
video_list = get_all_video_in_channel("ABC123EFG456")
тогда вы можете распечатать его, чтобы увидеть массив, используяprint(video_list)
источник
Попробуйте как в следующем. Это может помочь вам.
https://gdata.youtube.com/feeds/api/videos?author=cnn&v=2&orderby=updated&alt=jsonc&q=news
Здесь автор, как вы можете указать название канала и «q», как вы можете дать ключевое слово для поиска.
источник
Всего за три шага:
Подписки: список -> https://www.googleapis.com/youtube/v3/subscription?part=snippet&maxResults=50&mine=true&access_token= {oauth_token}
Каналы: список -> https://www.googleapis.com/youtube/v3/channels?part=contentDetails&id= {channel_id} & key = {YOUR_API_KEY}
PlaylistItems: list -> https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId= {playlist_id} & key = {YOUR_API_KEY}
источник
Благодаря ссылкам, опубликованным здесь и в других местах, я создал онлайн-скрипт / инструмент, который можно использовать для получения всех видео канала.
Он сочетает в себе вызовы API для
youtube.channels.list
,playlistItems
,videos
. Он использует рекурсивные функции, чтобы заставить асинхронные обратные вызовы выполнять следующую итерацию при получении правильного ответа.Это также служит для ограничения фактического количества запросов, сделанных за один раз, и, следовательно, позволяет вам избежать нарушения правил API YouTube. Обмен сокращенными фрагментами, а затем ссылка на полный код. Я получил около 50 максимальных результатов на ограничение вызова с помощью значения nextPageToken, которое приходит в ответе для получения следующих 50 результатов и так далее.
Это основной список видео, в том числе идентификатор, название, дата публикации и тому подобное. Но чтобы получить более подробную информацию о каждом видео, например, количество просмотров и лайков, нужно сделать вызовы API
videos
.Смотрите полный код здесь , и живую версию здесь . (Правка: исправлена ссылка на github)
Правка: Зависимости: JQuery, Papa.parse
источник
Поскольку у всех, кто отвечает на этот вопрос, есть проблемы из-за ограничения видео в 500, вот альтернативное решение с использованием youtube_dl в Python 3 . Кроме того, ключ API не требуется .
sudo pip3 install youtube-dl
Пример (предупреждение - занимает десятки минут):
источник
@for /f "usebackq tokens=2 delims=: " %a in (`dl-list.py^|findstr information`) do @echo https://www.youtube.com/watch?v=%a
. Он распечатает все URL видео.PLAYLIST_ID
может быть плейлистом или идентификатором канала.dl-list.py
.При использовании API версии 2, которая устарела, URL для загрузки (канала UCqAEtEr0A0Eo2IVcuWBfB9g):
https://gdata.youtube.com/feeds/users/UCqAEtEr0A0Eo2IVcuWBfB9g/uploads
Есть версия API 3.
источник
Недавно мне пришлось извлечь все видео из канала, и согласно документации разработчика YouTube: https://developers.google.com/youtube/v3/docs/playlistItems/list
Где
$service
твойGoogle_Service_YouTube
объектТаким образом, вам нужно извлечь информацию из канала, чтобы получить список «загрузок», в котором фактически все видео, загруженные каналом, загружены: https://developers.google.com/youtube/v3/docs/channels/list
Если вы новичок в этом API, я настоятельно рекомендую превратить образец кода из фрагмента по умолчанию в полный образец.
Таким образом, основной код для извлечения всех видео из канала может быть:
источник
Пример решения на Python. Помощь взята из этого видео: видео Как и во многих других ответах, идентификатор загрузки должен быть сначала извлечен из идентификатора канала.
источник
Как указано в документации ( ссылка ), вы можете использовать тип ресурса канала и список операций, чтобы получить все видео в канале. Эта операция должна выполняться с использованием аргумента «идентификатор канала».
источник