#!/usr/bin/env python __license__ = 'GPL v3' __author__ = '2010, Yuri Alvarez' __copyright__ = '2008, Kovid Goyal kovid@kovidgoyal.net' ''' observa.com.uy ''' from calibre.web.feeds.news import BasicNewsRecipe class ObservaDigital(BasicNewsRecipe): title = 'Observa Digital' __author__ = 'yrvn' description = 'Noticias de Uruguay' language = 'es_UY' timefmt = '[%a, %d %b, %Y]' use_embedded_content = False recursion = 5 encoding = 'utf8' remove_javascript = True no_stylesheets = True oldest_article = 2 max_articles_per_feed = 100 keep_only_tags = [dict(id=['contenido'])] remove_tags = [ dict(name='div', attrs={'id':'contenedorVinculadas'}), dict(name='p', attrs={'id':'nota_firma'}), dict(name=['object','link']) ] extra_css = ''' h1{font-family:Geneva, Arial, Helvetica, sans-serif;color:#154B7A;} h3{font-size: 14px;color:#999999; font-family:Geneva, Arial, Helvetica, sans-serif;font-weight: bold;} h2{color:#666666; font-family:Geneva, Arial, Helvetica, sans-serif;font-size:small;} p {font-family:Arial,Helvetica,sans-serif;} ''' feeds = [ (u'Actualidad', u'http://www.observa.com.uy/RSS/actualidad.xml'), (u'Deportes', u'http://www.observa.com.uy/RSS/deportes.xml'), (u'Vida', u'http://www.observa.com.uy/RSS/vida.xml'), (u'Ciencia y Tecnologia', u'http://www.observa.com.uy/RSS/ciencia.xml') ] def get_cover_url(self): index = 'http://www.observa.com.uy/' soup = self.index_to_soup(index) for image in soup.findAll('img',alt=True): if image['alt'].startswith('Tapa El Observador'): return image['src'].rstrip('b.jpg') + '.jpg' return None def preprocess_html(self, soup): for item in soup.findAll(style=True): del item['style'] return soup