Programación Web y Scripting > Python

 Un Feed RSS

(1/1)

RadicalEd:
Pues ando jugando últimamente con el pynotify y pues acá dejo este pequeño lector de feeds Atom.

--- Código: Python ---#!/usr/bin/env python# -*- coding: cp1252 -*-#Desarrollado por RadicalEdimport feedparserimport pynotifyimport urllib2, urllibimport timeimport re class FeedRSS(): #Inicializamos valores def __init__ (self, rss, blog):     self.blog = blog     #Nos conectamos al feed del blog     self.rss = feedparser.parse(rss)     #Extraemos lo que necesitamos     self.title = self.rss.entries[0].title     self.link = self.rss.entries[0].link  #Vamos a convertir los links grandes en pequeños def mostrar (self, tinyurl = 'http://tinyurl.com/create.php', nuevo=''):     #Los datos a envíar en el campo url del formulario     data = urllib.urlencode([('url', self.link)])     #Envíamos los datos     req = urllib2.Request(tinyurl)     pagina = urllib2.urlopen(req, data)     #Al recibir los datos los empezamos a leer     while True:         data = pagina.read(1024)         if not len(data):             break         nuevo += data      #Con expresiones regulares buscamos cada dato que tenga la linea <b>http://tinyurl.com/     r = re.compile('<b>http://tinyurl.com/([a-zA-Z0-9]+)</b>',re.S)      #Buscamos en todo el source de la pagina     x = r.findall(nuevo)      #Este sera el mensaje a mostrar en el notificador     msg = "%sn<a href='http://tinyurl.com/%s'>http://tinyurl.com/%s</a>" % (self.title, x[0], x[0])      if not pynotify.init('Al no iniciarse'):         sys.exit(1)      #Mostramos la Notificación     n = pynotify.Notification(self.blog,msg)     n.set_timeout(15000) #Que se muestre el mensaje durante 15 segundos     n.show()      #Sino se muestra     if not n.show():         print "Fallo al mostrar la info"         sys.exit(1) #Blogs de ejemplorp = FeedRSS('http://radicalpython.blogspot.com/feeds/posts/default', 'RadicalPython')rp.mostrar()wb = FeedRSS('http://willy-n-billy.blogspot.com/feeds/posts/default', 'Willy-n-Billy')wb.mostrar()mb = FeedRSS('http://mbrenes.blogspot.com/feeds/posts/default', '{ Blog de Shakka }')mb.mostrar()lm = FeedRSS('http://elladodelmal.blogspot.com/feeds/posts/default', 'El lado del mal')lm.mostrar() 

Navegación

[0] Índice de Mensajes

Ir a la versión completa