我試圖使用YouTube的數據API來搜索搜索字詞 包含中文字符的位置。 但是,搜索查詢未返回正確的結果。Unicode在Youtube API中用於在python中進行視頻搜索
我正在使用python,我只是寫了一些使用unicode的測試代碼。
在測試代碼中,我硬編碼一個unicode術語,將其轉換爲utf-8,然後url 將其編碼爲搜索術語並將其傳遞給youtube api。 代碼如下:
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)
代碼的工作,當我搜索U「阿妹」 但是當我搜索ü我沒有得到正確的結果「阿妹」
我也嘗試以下網址:
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字符串是UTF-8的URL編碼U 「阿妹」
該網址返回正確的結果。
因此,似乎youtube api允許utf-8用於搜索條件,但由於某種原因,我的api調用不會返回正確的結果 。
你在腳本的頂部有'# - * - coding:utf-8 - * - '嗎? – wberry
好點。是的,我在腳本和html頁面都有。 – TaiwanGrapefruitTea