1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
if (rss):
xmldoc = feedparser.parse(rss)
if (xmldoc) :
"""On ouvre le fichier Newsletter.txt qui va récolter le flux. Ce fichier sera ensuite lu par les fonction d'envoi par mail et d'envoir sur le serveur"""
newsletter = open("Newsletter.txt", "w")
"""On cherche premièrement à savoir de quelle source vient le RSS"""
source_title = xmldoc.feed.title
print source_title #Dev
newsletter.write (source_title.encode("utf_8") + "\n" + "\n")
"""Universal Feedparser crée une liste dans qui répertorie chaque article, cette liste est la liste entries[n] qui comprends n+1 entrées (les liste sont numérotées à partir de 0). Python ne peut aller au delà de cette taille n-1. Il faut donc d'abord cherche la taille de la liste avec la fonction len"""
range = 0 #on initialise la variable range qui va servir pour pointer les articles
rangemax = len(xmldoc.entries)
print ("nombre d'article :"), rangemax, ("\n") #dev
"""On initialise une boucle while qui va parcourir la liste pour rechercher titres, description, lien, etc ...."""
while range < rangemax:
post_title = xmldoc.entries[range].title
post_description = xmldoc.entries[range].description
post_link = xmldoc.entries[range].link
keyword = u"Google"
if keyword in post_title:
print post_title.encode("utf_8") #Dev
print post_link, ("\n") #Dev
print ("range:"), range, ("\n") #Dev
newsletter.write (post_title.encode("utf_8") + "\n" + post_link.encode("utf_8") + "\n" + "\n")
elif keyword in post_description:
print post_title.encode("utf_8") #Dev
print post_link, ("\n") #Dev
print ("range:"), range, ("\n") #Dev
newsletter.write (post_title.encode("utf_8") + "\n" + post_link.encode("utf_8") + "\n" + "\n")
range = range+1 #On incrémente le pointeur range qui nous sert aussi de compteur
newsletter.close() |
Partager