Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中使用gdata Youtube API时发生套接字错误_Python_Youtube_Youtube Api_Gdata - Fatal编程技术网

在Python中使用gdata Youtube API时发生套接字错误

在Python中使用gdata Youtube API时发生套接字错误,python,youtube,youtube-api,gdata,Python,Youtube,Youtube Api,Gdata,我使用gdata将YouTube URL映射到视频标题,使用以下代码: import gdata.youtube.service as youtube import re import queue import urlparse ytservice = youtube.YouTubeService() ytservice.ssl = True ytservice.developer_key = '' # snip class youtube(mediaplugin): def __ini

我使用
gdata
将YouTube URL映射到视频标题,使用以下代码:

import gdata.youtube.service as youtube
import re
import queue
import urlparse

ytservice = youtube.YouTubeService()
ytservice.ssl = True
ytservice.developer_key = '' # snip

class youtube(mediaplugin):
  def __init__(self, parsed_url):
    self.url = parsed_url
    self.video_id = urlparse.parse_qs(parsed_url.query)['v'][0]
    self.ytdata = ytservice.GetYouTubeVideoEntry(self.video_id)
    print self.ytdata
调用service.GetYouTubeVideoEntry()时出现以下套接字异常:

我甚至不知道如何开始调试这个。任何想法都值得赞赏。谢谢

编辑:
在回答评论中提出的问题时,
video\u id
qh-mwjF-OMo
parsed\u-url
是:

ParseResult(scheme=u'http', netloc=u'www.youtube.com', path=u'/watch', params='', query=u'v=qh-mwjF-OMo&feature=g-user-u', fragment='')

我的错误是,
video\u id
应该作为关键字参数传递,如下所示:

    self.ytdata = ytservice.GetYouTubeVideoEntry(video_id=self.video_id)

看来套接字异常是将抛出异常的
gdata
的唯一一层;它试图根据参数盲目地获取URL,只有在URL获取失败时才会失败。

解析的URL和
self.video\u id
的值是多少?我问这个问题是因为当库试图在异常发生时解析地址。
parsed_url
是来自
urlparse.parse_qs
的解析url,而video_id是来自Youtube url的
v
参数。我将编辑问题以添加一些信息。
    self.ytdata = ytservice.GetYouTubeVideoEntry(video_id=self.video_id)