4

YouTube フィードを解析し、YouTube ムービー ID を返すための次のコードがあります。parse_qs関数をサポートしていないと思われる python 2.4 互換になるようにこれを書き直すにはどうすればよいですか?

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) 
4

2 に答える 2

12

あなたの既存のコードは 2.6 またはそれ以降で実行されていると思いますが、2.4 に戻ろうとしているのですか? parse_qsに移動される前は、cgiモジュールにありましたurlparse。、 を試してimport cgiくださいcgi.parse_qs

TryPyPy のコメントに触発されて、次のようにしてソースをどちらの環境でも実行できると思います。

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

しかし、私はこれを試す 2.4 を持っていないので、約束はありません。

于 2011-01-10T12:05:48.967 に答える
-3

私はそれを試しましたが、それでも..それは機能していませんでした。

parse_qs/qsl関数をcgiモジュールからurlparseモジュールにコピーする方が簡単です。

問題が解決しました。

于 2011-01-28T18:10:49.277 に答える