from calibre.web.feeds.news import BasicNewsRecipe class ElFaroDeVigo(BasicNewsRecipe): title = u'El Faro de Vigo' oldest_article = 1 max_articles_per_feed = 100 __author__ = 'Jefferson Frantz' description = 'Noticias de Vigo' timefmt = ' [%d %b, %Y]' language = 'es' encoding = 'cp1252' no_stylesheets = True remove_javascript = True feeds = [ (u'Galicia', u'http://www.farodevigo.es/elementosInt/rss/4'), (u'España', u'http://www.farodevigo.es/elementosInt/rss/6'), (u'Mundo', u'http://www.farodevigo.es/elementosInt/rss/7'), (u'Economía', u'http://www.farodevigo.es/elementosInt/rss/10'), (u'Sociedad y Cultura', u'http://www.farodevigo.es/elementosInt/rss/8'), (u'Sucesos', u'http://www.farodevigo.es/elementosInt/rss/9'), (u'Deportes', u'http://www.farodevigo.es/elementosInt/rss/11'), (u'Agenda', u'http://www.farodevigo.es/elementosInt/rss/21'), (u'Gente', u'http://www.farodevigo.es/elementosInt/rss/24'), (u'Televisión', u'http://www.farodevigo.es/elementosInt/rss/25'), (u'Ciencia y Tecnología', u'http://www.farodevigo.es/elementosInt/rss/26')] extra_css = '''.noticia_texto{ font-family: sans-serif; font-size: medium; text-align: justify } h1{font-family: serif; font-size: x-large; font-weight: bold; color: #000000; text-align: center} h2{font-family: serif; font-size: medium; font-weight: bold; color: #000000; text-align: left} .enlacenegrita10{font-family: serif; font-size: small; font-weight: bold; color: #000000; text-align: left} .noticia_titular{font-family: serif; font-size: x-large; font-weight: bold; color: #000000; text-align: center}''' def preprocess_html(self, soup): for item in soup.findAll(style=True): del item['style'] url = 'http://estaticos00.farodevigo.es//elementosWeb/mediaweb/images/compartir/barrapunto.gif' fitem = soup.find('img', src=url) if fitem: par = fitem.parent par.extract() url = 'http://estaticos01.farodevigo.es//elementosWeb/mediaweb/images/compartir/barrapunto.gif' fitem = soup.find('img', src=url) if fitem: par = fitem.parent par.extract() url = 'http://estaticos02.farodevigo.es//elementosWeb/mediaweb/images/compartir/barrapunto.gif' fitem = soup.find('img', src=url) if fitem: par = fitem.parent par.extract() return self.adeify_images(soup) def postprocess_html(self, soup, first_fetch): divs = soup.findAll(True, {'class': 'enlacenegrita10'}) for div in divs: div['align'] = 'left' return soup keep_only_tags = [dict(name='div', attrs={'class': ['noticias']})] remove_tags = [ dict(name=['object', 'link', 'script', 'ul', 'iframe', 'ol']), dict(name='div', attrs={'class': [ 'noticiadd2', 'cintillo2', 'noticiadd', 'noticiadd2']}), dict(name='div', attrs={'class': ['imagen_derecha', 'noticiadd3', 'extraHTML']}) ]