2010-07-05 8 views
3

Je n'arrive pas à faire fonctionner ça ... quel pourrait être le problème?Récupérer les favoris de flickr

import flickrapi 

api_key = '1234...' 

flickr = flickrapi.FlickrAPI(api_key) 
user = '[email protected]' 
favs = flickr.favorites_getPublicList(user_id = user) 

>>> favs.items() 
[('stat', 'ok')] 

>>> favs.text 
'\n' 

Où sont mes photos préférées?

Note: Il ne fonctionne via cette page de test: http://www.flickr.com/services/api/explore/?method=flickr.favorites.getPublicList

Répondre

4

Le résultat est correct - selon l'URL que vous avez donné, les noeuds XML sont vides (plus/moins les nouvelles lignes et des caractères blancs, apparemment). favs.text retournerait le contenu, mais ce que vous cherchez est dans les attributs. Essayez ceci:

for photo in favs.find('photos').findall('photo'): 
    print photo.get('id') 

Résultat:

'445267544' 
'3334987037' 

Ou pour tous les nœuds enfants, à partir de la racine:

for elm in favs.getiterator(): 
    print elm.items() 

Résultat:

[('stat', 'ok')] 
[('total', '2'), ('perpage', '100'), ('page', '1'), ('pages', '1')] 
[('isfamily', '0'), ('title', 'The Giants of Africa'), ('farm', '1'), ('ispublic', '1'), ('server', '218'), ('isfriend', '0'), ('secret', '992df924aa'), ('owner', '[email protected]'), ('id', '445267544'), ('date_faved', '1273873654')] 
[('isfamily', '0'), ('title', 'Lava Light - Maui, Hawaii'), ('farm', '4'), ('ispublic', '1'), ('server', '3401'), ('isfriend', '0'), ('secret', '2fa1856916'), ('owner', '[email protected]'), ('id', '3334987037'), ('date_faved', '1273873515')] 
+0

La deuxième ligne de code devrait être: print photo.get ('id') – compie

+0

Merci, corrigé. Je le courais dans la console interactive bien sûr. – chryss