From 1df789da2b15516dc31305f7e1fb3cffbb33cdc0 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 25 Nov 2011 07:44:13 +0530 Subject: [PATCH 01/21] Fix #894540 (Updated recipe for El Mundo) --- recipes/elmundo.recipe | 74 +++++++++++++++++++++++++++++++++++++----- 1 file changed, 65 insertions(+), 9 deletions(-) diff --git a/recipes/elmundo.recipe b/recipes/elmundo.recipe index 76ce785ba3..4f04f68575 100644 --- a/recipes/elmundo.recipe +++ b/recipes/elmundo.recipe @@ -4,7 +4,8 @@ __copyright__ = '2009-2011, Darko Miletic ' ''' elmundo.es ''' - +import re +import time from calibre.web.feeds.news import BasicNewsRecipe class ElMundo(BasicNewsRecipe): @@ -18,12 +19,15 @@ class ElMundo(BasicNewsRecipe): no_stylesheets = True use_embedded_content = False encoding = 'iso8859_15' + remove_javascript = True + remove_empty_feeds = True language = 'es' masthead_url = 'http://estaticos03.elmundo.es/elmundo/iconos/v4.x/v4.01/bg_h1.png' publication_type = 'newspaper' extra_css = """ body{font-family: Arial,Helvetica,sans-serif} .metadata_noticia{font-size: small} + .pestana_GDP{font-size: small; font-weight:bold} h1,h2,h3,h4,h5,h6,.subtitulo {color: #3F5974} .hora{color: red} .update{color: gray} @@ -41,22 +45,43 @@ class ElMundo(BasicNewsRecipe): remove_tags_after = dict(name='div' , attrs={'id':['desarrollo_noticia','tamano']}) remove_attributes = ['lang','border'] remove_tags = [ - dict(name='div', attrs={'class':['herramientas','publicidad_google']}) - ,dict(name='div', attrs={'id':'modulo_multimedia' }) + dict(name='div', attrs={'class':['herramientas','publicidad_google','comenta','col col-2b','apoyos','no-te-pierdas']}) + ,dict(name='div', attrs={'class':['publicidad publicidad_cuerpo_noticia','comentarios_nav','mensaje_privado','interact']}) + ,dict(name='div', attrs={'class':['num_comentarios estirar']}) + ,dict(name='span', attrs={'class':['links_comentar']}) + ,dict(name='div', attrs={'id':['comentar']}) ,dict(name='ul', attrs={'class':'herramientas' }) ,dict(name=['object','link','embed','iframe','base','meta']) ] feeds = [ - (u'Portada' , u'http://estaticos.elmundo.es/elmundo/rss/portada.xml' ) + (u'Portada' , u'http://estaticos.elmundo.es/elmundo/rss/portada.xml' ) ,(u'Deportes' , u'http://estaticos.elmundo.es/elmundodeporte/rss/portada.xml') - ,(u'Economia' , u'http://estaticos.elmundo.es/elmundo/rss/economia.xml' ) - ,(u'Espana' , u'http://estaticos.elmundo.es/elmundo/rss/espana.xml' ) + ,(u'Econom\xeda' , u'http://estaticos.elmundo.es/elmundo/rss/economia.xml' ) + ,(u'Espa\xf1a' , u'http://estaticos.elmundo.es/elmundo/rss/espana.xml' ) ,(u'Internacional' , u'http://estaticos.elmundo.es/elmundo/rss/internacional.xml' ) ,(u'Cultura' , u'http://estaticos.elmundo.es/elmundo/rss/cultura.xml' ) - ,(u'Ciencia/Ecologia', u'http://estaticos.elmundo.es/elmundo/rss/ciencia.xml' ) - ,(u'Comunicacion' , u'http://estaticos.elmundo.es/elmundo/rss/comunicacion.xml' ) - ,(u'Television' , u'http://estaticos.elmundo.es/elmundo/rss/television.xml' ) + ,(u'Ciencia/Ecolog\xeda', u'http://estaticos.elmundo.es/elmundo/rss/ciencia.xml' ) + ,(u'Comunicaci\xf3n' , u'http://estaticos.elmundo.es/elmundo/rss/comunicacion.xml' ) + ,(u'Televisi\xf3n' , u'http://estaticos.elmundo.es/elmundo/rss/television.xml' ) + + ,(u'Salud' , u'http://estaticos.elmundo.es/elmundosalud/rss/portada.xml' ) + ,(u'Solidaridad' , u'http://estaticos.elmundo.es/elmundo/rss/solidaridad.xml' ) + ,(u'Su vivienda' , u'http://estaticos.elmundo.es/elmundo/rss/suvivienda.xml' ) + ,(u'Motor' , u'http://estaticos.elmundo.es/elmundomotor/rss/portada.xml' ) + + ,(u'Madrid' , u'http://estaticos.elmundo.es/elmundo/rss/madrid.xml' ) + ,(u'Barcelona' , u'http://estaticos.elmundo.es/elmundo/rss/barcelona.xml' ) + ,(u'Pa\xeds Vasco' , u'http://estaticos.elmundo.es/elmundo/rss/paisvasco.xml' ) + ,(u'Baleares' , u'http://estaticos.elmundo.es/elmundo/rss/baleares.xml' ) + ,(u'Castilla y Le\xf3n' , u'http://estaticos.elmundo.es/elmundo/rss/castillayleon.xml' ) + ,(u'Valladolid' , u'http://estaticos.elmundo.es/elmundo/rss/valladolid.xml' ) + ,(u'Valencia' , u'http://estaticos.elmundo.es/elmundo/rss/valencia.xml' ) + ,(u'Alicante' , u'http://estaticos.elmundo.es/elmundo/rss/alicante.xml' ) + ,(u'Castell\xf3n' , u'http://estaticos.elmundo.es/elmundo/rss/castellon.xml' ) + ,(u'Andaluc\xeda' , u'http://estaticos.elmundo.es/elmundo/rss/andalucia.xml' ) + ,(u'Sevilla' , u'http://estaticos.elmundo.es/elmundo/rss/andalucia_sevilla.xml' ) + ,(u'M\xe1laga' , u'http://estaticos.elmundo.es/elmundo/rss/andalucia_malaga.xml' ) ] def preprocess_html(self, soup): @@ -67,3 +92,34 @@ class ElMundo(BasicNewsRecipe): def get_article_url(self, article): return article.get('guid', None) + + preprocess_regexps = [ + # Para presentar la imagen de los videos incrustados + + (re.compile(r'var imagen', re.DOTALL|re.IGNORECASE), lambda match: '-->'), + (re.compile(r'var video=', re.DOTALL|re.IGNORECASE), lambda match: '