我有以下代码用于解析youtube feed并返回youtube movie id。我如何将其重写为python 2.4兼容,我认为它不支持parse_qs
函数?
YTSearchFeed = feedparser.parse("http://gdata.youtube.com" + path)
videos = []
for yt in YTSearchFeed.entries:
url_data = urlparse.urlparse(yt['link'])
query = urlparse.parse_qs(url_data[4])
id = query["v"][0]
videos.append(id)
答案 0 :(得分:12)
我假设你现有的代码运行在2.6或更新的东西,你试图回到2.4?在parse_qs
模块移至cgi
之前,urlparse
曾经在import cgi
模块中。试试cgi.parse_qs
,import urlparse # if we're pre-2.6, this will not include parse_qs
try:
from urlparse import parse_qs
except ImportError: # old version, grab it from cgi
from cgi import parse_qs
urlparse.parse_qs = parse_qs
。
受到TryPyPy's评论的启发,我认为您可以通过以下方式在任一环境中运行您的源代码:
{{1}}
但我没有2.4试试这个,所以没有承诺。
答案 1 :(得分:-1)
我试过了,但仍然......它无法正常工作。
将parse_qs / qsl函数从cgi模块复制到urlparse模块更容易。
问题解决了。