我试图使用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