Я пытаюсь использовать API данных YouTube для поиска, где поисковый запрос включает китайские символы.Но поисковый запрос не возвращает правильных результатов.
Я использую python, и я только что написал некоторый тестовый код, который использует Unicode.
В тестовом коде я жестко кодирую термин Unicode, преобразуя его вutf-8, затем URL закодируйте его как поисковый запрос и передайте его в API YouTube.Код выглядит так:
yt_service = gdata.youtube.service.YouTubeService()
query = gdata.youtube.service.YouTubeVideoQuery()
u_topic = u"a-mei"
u_topic = u"阿妹" # a-mei
s_topic = u_topic.encode('utf-8')
query.vq = urllib.quote_plus(s_topic )
query.time = 'this_month'
query.orderby = 'relevance'
query.racy = 'include'
feed = yt_service.YouTubeQuery(query)
Код работает, когда я ищу для вас "a-mei", но я не получаю правильные результаты, когда я ищу для вас "阿妹"
Я также попробовал следующий URL:
https://gdata.youtube.com/feeds/api/videos?q=%E9%98%BF%E5%A6%B9
(вот URL в виде ссылки: https://gdata.youtube.com/feeds/api/videos?q=%E9%98%BF%E5%A6%B9)
где строка q - это URL-кодировка utf-8 для вас "阿妹 "
Этот URL возвращает правильные результаты.
Таким образом, похоже, что API-интерфейс youtube разрешает использование utf-8 для поисковых запросов, но по какой-то причине мой вызов API не возвращает правильные результаты.