Question

Je le code suivant pour l'analyse syntaxique youtube alimentation et retour youtube id film. Comment puis-je réécris que ce soit python 2.4 compatible que je suppose ne supporte pas la fonction 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) 
Était-ce utile?

La solution

je suppose que l'exécution de votre code existant dans 2.6 ou quelque chose de nouveau, et vous essayez de revenir à 2,4? parse_qs être utilisé dans le module cgi avant qu'il ne soit déplacé à urlparse. Essayez import cgi, cgi.parse_qs.

Inspiré par commentaire TryPyPy, je pense que vous pouvez faire fonctionner votre source soit dans l'environnement en faisant:

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

Mais je n'ai pas 2.4 pour essayer, donc pas de promesses.

Autres conseils

J'ai essayé, et encore .. il ne fonctionnait pas.

Il est plus facile de simplement copier les parse_qs / fonctions QSL plus du module cgi au module urlparse.

Problème résolu.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top