Python : Atelier de base


SOLUTIONNAIRE

   1 #! /usr/bin/env python
   2 # -*- encoding: utf-8 -*-
   3 
   4 if __name__ == '__main__':
   5     import feedparser
   6     
   7     # capter le flux RSS
   8     url = "http://www.auf.org/flux/actualite/"
   9     flux = feedparser.parse(url)
  10     
  11     # retenir le nombre d'items voulus
  12     #items = flux['items']     # tous
  13     items = flux['items'][0:5]  # 5 derniers items car déjà triés par .updated
  14     
  15     # traiter les items retenus
  16     reply = u'Les 5 dernières modifications du site institutionnel :'
  17     for i in items:
  18         # reply = chaîne unicode où placeholders %s substitués par valeurs dans tuple
  19         #reply = reply + u'\n%s : %s (%s)' % (i['link'], i['title'], i['updated'])
  20         reply = reply + u'\n%s : %s' % (i['link'], i['title'])
  21     
  22     print reply

En plus compact, sans les commentaires :

   1 #! /usr/bin/env python
   2 # -*- encoding: utf-8 -*-
   3 
   4 if __name__ == '__main__':
   5     import feedparser
   6     
   7     url = "http://www.auf.org/flux/actualite/"
   8     flux = feedparser.parse(url)
   9 
  10     items = flux['items'][0:5]  # 5 derniers items car déjà triés par .updated
  11     
  12     reply = u'Les 5 dernières modifications du site institutionnel :'
  13     for i in items:
  14         #reply = reply + u'\n%s : %s (%s)' % (i['link'], i['title'], i['updated'])
  15         reply = reply + u'\n%s : %s' % (i['link'], i['title'])
  16     
  17     print reply

En plus pythonesque :

   1 #! /usr/bin/env python
   2 # -*- encoding: utf-8 -*-
   3 
   4 if __name__ == '__main__':
   5     import feedparser
   6     
   7     url = "http://www.auf.org/flux/actualite/"
   8     flux = feedparser.parse(url)
   9     
  10     print = u'Les 5 dernières modifications du site institutionnel :'
  11     for e in flux.entries[0:5]:
  12         print u'\n%s : %s' % (e.link, e.title)

Ateliers/Python/Base/Solutionnaire (dernière édition le 2012-08-27 08:03:26 par DavinBaragiotta)