Как использовать Youtube API v3 для фильтрации видео по категориям? - PullRequest
0 голосов
/ 27 февраля 2019

Я пытаюсь создать запрос на Youtube в python, который отфильтровывает, например, категорию 39 - Ужасы.Я ищу что-то похожее на это:

searchResults = YouTube.Search.list('id,snippet', {
    maxResults: "10",
    q: "The ring",
    type: "video",
    videoCategoryId: "-10"
  });

Или любой способ обхода.

Я даже обдумывал поиск без фильтра, а затем пытался исключить те из этой категории, ноИнформация, предоставленная запросом, не включает категорию видео.И это довольно уродливо, так как я действительно хочу 10 результатов, и мне, возможно, придется сделать больше запросов, чтобы заполнить список.

Все, что я нашел в Google, - это как получить видео из указанной категории.

Можете ли вы помочь мне, как этого добиться?

1 Ответ

0 голосов
/ 27 февраля 2019

Используя API данных YouTube, вы можете проверить здесь существующие видеоКатегории.

В этой демонстрации , доступной в Google API Explorer , вы можете получить видеоКатегории.

Как только вы выбрали videoCategoryId, используйте следующий поисковый запрос:

https://www.googleapis.com/youtube/v3/search?part=snippet&maxResults=10&q=The+ring&regionCode=US&type=video&videoCategoryId=1&fields=items(id(channelId%2CvideoId)%2Csnippet(channelId%2CchannelTitle%2Cdescription%2Ctitle))%2CnextPageToken%2CpageInfo%2CprevPageToken%2CregionCode&key={YOUR_API_KEY}

Здесь я использую запрос search.list для получения видео "из региона США", с videoCategoryId 1 = (Film & Animation) и извлечение title видео YouTube, его videoId, channel title и channel_id из канала, который загрузил видео.

Вот demo .

Похоже, что videoCategoryId поддерживается не во всех регионах (возможно, по этой причине я не смог получить видео с помощью videoCategoryId=39 ", что является категорией ужасов вСША ") .

Для получения дополнительной информации прочитайте этот ответ .

...