2016-07-19 3 views
0
def get_data(key, region, *ids): 
    url = "https://www.googleapis.com/youtube/v3/videos?part=snippet&id={ids}&key={api_key}" 
    r = requests.get(url.format(ids=",".join(ids), api_key=key)) 
    js = r.json() 
    items = js["items"] 
    cat_js = requests.get("https://www.googleapis.com/youtube/v3/videoCategories?part=snippet&regionCode={}&key={}".format(region, 
    key)).json() 
    categories = {d['id']: d["snippet"]['title'] for d in cat_js["items"]} 
    for item in items: 
     yield item["snippet"]["title"], categories[item["snippet"]["categoryId"]] 

У меня есть функция выше, чтобы получить категорию и название видеоролика. Есть ли способ получить жанр музыкального видео, например, Pop, Rock, House и т. Д.? Пожалуйста помоги!Получить жанр из youtube ID

ответ

5

Я не знаю, отмечен ли жанр - возможно, нет.

Если нет, я бы предложил два варианта.

Easy один:

  • Получить список музыкальных жанров (here, например, но вы можете определить ваши в соответствии с вашей задачей)
  • Каждый раз, когда вы получите титул, отделить имя исполнителя и музыкальное имя
  • Запросить википедию с именем исполнителя и проверить, указаны ли некоторые музыкальные жанры.
  • Если существует, запросите wikipedia с лирическим именем, чтобы проверить, указаны ли жанры.

PS: Вы можете указать другой сайт, если необходимо (точнее, например). В качестве другой базы данных с открытым исходным кодом отметьте http://musicbrainz.org/, которая предоставляет теги каждому художнику. Вам определенно нужно автоматизировать запрос на эти страницы, что легко с Википедии, таким образом, первое предложение (check that).

Hard один:

  • Получить обучающий набор музыки, помеченный их жанров
  • Извлечение аудио функции
  • обучить классификатор с предыдущими функциями
  • классифицирует новой музыки благодаря этот классификатор (например, для данной музыки ассоциируйте вероятность с каждым жанром - и определите thresold (s), чтобы сохранить некоторые из них)
  • Если все сделано хорошо, нанимайте крупные музыкальные компании - некоторые пробовали с не очень хорошими результатами.
+0

Спасибо за ответ. Но разве youtube не содержит жанровое поле? Я помню, как на моей домашней странице были видны списки песен по жанрам. – Blabber

+0

Потому что, если API-интерфейс youtube может обеспечить его, я бы не сделал так много царапин. – Blabber

+0

[Здесь] (https://developers.google.com/youtube/2.0/developers_guide_protocol_category_keyword_browsing), [здесь] (http://stackoverflow.com/questions/17698040/youtube-api-v3-where-can-i- find-a-list-of-each-videocategoryid) и [здесь] (http://stackoverflow.com/questions/6453917/get-the-music-genres-in-youtube), что я нашел в Google - In если вы пытались, с какими проблемами вы столкнулись? Возможно, я неправильно понял ваш вопрос. –

Смежные вопросы