2016-11-18 17 views
-1

Я планирую использовать Spotify API для извлечения некоторых данных, включая имя дорожки и исполнителя в качестве ключевых слов для поиска. Тем не менее, имя дорожки и данные исполнителя у меня есть некоторые ошибки синтаксического анализа, и мне было интересно, есть ли в Spotify API какие-либо методы, которые автоматически корректируют ключевые слова.Существуют ли какие-либо методы в Spotify API, которые могут автокорректировать ключевые слова для поиска?

Например, Google доставит мне документы о Radiohead, даже если я ищу «Radiohea», «Radihead» и так далее. Кроме того, API Last.fm предоставляет метод с именем «track.getCorrection», который выполняет задания, подобные описанным выше.

Вот объяснение метода с официального веб-сайта Last.fm API: 'Используйте данные коррекции last.fm, чтобы проверить, имеет ли поставляемый трек исправление канонической дорожки.'

Кто-нибудь знает, существует ли такой метод в Spotify API?

+0

Вы должны спросить на форумах по определению. – ilansch

ответ

1

Нет, нет механизма автоматической коррекции.

Чем ближе Spotify получает к тому, поисковик является search endpoint:

рассказанная документации here.

можно найти, например, так:

query = 'radio head' 

и затем

query_results = sp.search(q=query, type='playlist') 

вернется

...u'playlist'...{u'name': u'Air/Zero 7/Thievery Corp/Radio Head/Massive Attack/Morcheeba',... 

но требует, чтобы пользователь воспроизведения пишется неправильно слишком ,

, насколько я могу опасаться, опечатка может вас достать.

обходной путь является извлечение художника, используя last.fmAPI, использовать его автоматической коррекции инструмента, а затем кормить этот результат в Spotify API, либо с помощью artist, track или search конечных точек.

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

надеюсь, что это поможет.

+0

Благодарим вас за ответ. Я полностью упустил это решение. Я должен сделать, как вы объяснили. Еще один вопрос. Когда я запускаю метод поиска, он выбирает несколько совпадений (результат json слишком сложный для индексации и использования), но я хочу только получить первое совпадение. Знаете ли вы, как задавать пределы результата методу поиска? Либо методом поиска, реализованным в библиотеке spotipy, либо путем выполнения URL-адреса. – user3052069

+0

@ user3052069 вам придется привыкнуть к 'json'. это займет некоторое время, но вы доберетесь туда. do 'query_results ['playlists'] ['items'] [0] ['external_urls']', и вы достигнете 'url'. надеюсь это поможет. –

+0

@ user3052069 вы всегда можете распечатать весь результат и попытаться лучше понять структуру данных и как вникнуть во вложенные словари. например: 'json.dumps (query_results, sort_keys = True, indent = 4)'. –