什么可以用来代替parse_qs函数

时间:2011-01-10 11:59:52

标签: python deprecated feedparser python-2.4

我有以下代码用于解析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) 

2 个答案:

答案 0 :(得分:12)

我假设你现有的代码运行在2.6或更新的东西,你试图回到2.4?在parse_qs模块移至cgi之前,urlparse曾经在import cgi模块中。试试cgi.parse_qsimport 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模块更容易。

问题解决了。