Register Guidelines E-Books Search Today's Posts Mark Forums Read

Go Back   MobileRead Forums > E-Book Software > Calibre > Recipes

Notices

Reply
 
Thread Tools Search this Thread
Old 12-03-2012, 02:55 PM   #1
desUBIKado
Member
desUBIKado began at the beginning.
 
Posts: 22
Karma: 12
Join Date: Feb 2009
Location: Zaragoza, Spain
Device: prs-505, iliad
weblogssl updated [ES]

- Added xatakawindows.com
- Fixed xataka.com

Spoiler:

Code:
#!/usr/bin/env  python
__license__     = 'GPL v3'
__copyright__   = '4 February 2011, desUBIKado'
__author__      = 'desUBIKado'
__version__     = 'v0.09'
__date__        = '02, December 2012'
'''
http://www.weblogssl.com/
'''

import time
import re
from calibre.web.feeds.news import BasicNewsRecipe

class weblogssl(BasicNewsRecipe):
    __author__     = 'desUBIKado'
    description    = u'Weblogs colectivos dedicados a seguir la actualidad sobre tecnologia, entretenimiento, estilos de vida, motor, deportes y economia.'
    title          = u'Weblogs SL (Xataka, Genbeta, VidaExtra, Blog de Cine y otros)'
    publisher      = 'Weblogs SL'
    category       = 'Gadgets, Tech news, Product reviews, mobiles, science, cinema, entertainment, culture, tv, food, recipes, life style, motor, F1, sports, economy'
    language       = 'es'    
    timefmt        = '[%a, %d %b, %Y]'
    oldest_article = 1
    max_articles_per_feed = 100
    encoding       = 'utf-8'
    use_embedded_content  = False
    remove_empty_feeds    = True
    remove_javascript = True
    no_stylesheets = True 

    # Si no se quiere recuperar todos los blogs se puede suprimir la descarga del que se desee poniendo
    # un caracter # por delante, es decir,  # ,(u'Applesfera', u'http://feeds.weblogssl.com/applesfera')
    # haría que no se descargase Applesfera. 

    feeds              = [
                          (u'Xataka', u'http://feeds.weblogssl.com/xataka2')
                          ,(u'Xataka Smart Home', u'http://feeds.weblogssl.com/Xatakahome')
                          ,(u'Xataka Mexico', u'http://feeds.weblogssl.com/xatakamx')
                          ,(u'Xataka M\xf3vil', u'http://feeds.weblogssl.com/xatakamovil')
                          ,(u'Xataka Android', u'http://feeds.weblogssl.com/xatakandroid')
                          ,(u'Xataka Windows', u'http://feeds.weblogssl.com/xatakawindows')
                          ,(u'Xataka Foto', u'http://feeds.weblogssl.com/xatakafoto')
                          ,(u'Xataka ON', u'http://feeds.weblogssl.com/xatakaon')
                          ,(u'Xataka Ciencia', u'http://feeds.weblogssl.com/xatakaciencia')
                          ,(u'Genbeta', u'http://feeds.weblogssl.com/genbeta')
                          ,(u'Genbeta Dev', u'http://feeds.weblogssl.com/genbetadev')
                          ,(u'Genbeta Social Media', u'http://feeds.weblogssl.com/genbetasocialmedia')
                          ,(u'Applesfera', u'http://feeds.weblogssl.com/applesfera')
                          ,(u'Vida Extra', u'http://feeds.weblogssl.com/vidaextra')
                          ,(u'Naci\xf3n Red', u'http://feeds.weblogssl.com/nacionred')                          
                          ,(u'Blog de Cine', u'http://feeds.weblogssl.com/blogdecine')
                          ,(u'Vaya tele', u'http://feeds.weblogssl.com/vayatele2')
                          ,(u'Hipers\xf3nica', u'http://feeds.weblogssl.com/hipersonica')
                          ,(u'Diario del viajero', u'http://feeds.weblogssl.com/diariodelviajero')
                          ,(u'Papel en blanco', u'http://feeds.weblogssl.com/papelenblanco')
                          ,(u'Pop rosa', u'http://feeds.weblogssl.com/poprosa')
                          ,(u'Zona FandoM', u'http://feeds.weblogssl.com/zonafandom')
                          ,(u'Fandemia', u'http://feeds.weblogssl.com/fandemia')                          
                          ,(u'Tendencias', u'http://feeds.weblogssl.com/trendencias')
                          ,(u'Beb\xe9s y m\xe1s', u'http://feeds.weblogssl.com/bebesymas')
                          ,(u'Directo al paladar', u'http://feeds.weblogssl.com/directoalpaladar')
                          ,(u'Compradicci\xf3n', u'http://feeds.weblogssl.com/compradiccion')
                          ,(u'Decoesfera', u'http://feeds.weblogssl.com/decoesfera')
                          ,(u'Embelezzia', u'http://feeds.weblogssl.com/embelezzia')
                          ,(u'Vit\xf3nica', u'http://feeds.weblogssl.com/vitonica')
                          ,(u'Ambiente G', u'http://feeds.weblogssl.com/ambienteg')
                          ,(u'Tendencias Belleza', u'http://feeds.weblogssl.com/trendenciasbelleza')
                          ,(u'Tendencias Hombre', u'http://feeds.weblogssl.com/trendenciashombre')
                          ,(u'Peques y m\xe1s', u'http://feeds.weblogssl.com/pequesymas')
                          ,(u'Motorpasi\xf3n', u'http://feeds.weblogssl.com/motorpasion')
                          ,(u'Motorpasi\xf3n F1', u'http://feeds.weblogssl.com/motorpasionf1')
                          ,(u'Motorpasi\xf3n Moto', u'http://feeds.weblogssl.com/motorpasionmoto')
                          ,(u'Motorpasi\xf3n Futuro', u'http://feeds.weblogssl.com/motorpasionfuturo')
                          ,(u'Notas de futbol', u'http://feeds.weblogssl.com/notasdefutbol')
                          ,(u'Fuera de l\xedmites', u'http://feeds.weblogssl.com/fueradelimites')                          
                          ,(u'El blog salm\xf3n', u'http://feeds.weblogssl.com/elblogsalmon2')
                          ,(u'Pymes y aut\xf3nomos', u'http://feeds.weblogssl.com/pymesyautonomos')
                          ,(u'Tecnolog\xeda Pyme', u'http://feeds.weblogssl.com/tecnologiapyme')
                          ,(u'Ahorro diario', u'http://feeds.weblogssl.com/ahorrodiario')
                         ]
    

    keep_only_tags     = [dict(name='div', attrs={'id':'infoblock'}),
                          dict(name='div', attrs={'class':'post'}),
                          dict(name='div', attrs={'id':'blog-comments'}),
                          dict(name='div', attrs={'class':'container'})   #m.xataka.com
                         ]

    remove_tags        = [dict(name='div', attrs={'id':'comment-nav'}),
                          dict(name='menu', attrs={'class':'social-sharing'}),    #m.xataka.com
                          dict(name='section' , attrs={'class':'comments'}),      #m.xataka.com
                          dict(name='div' , attrs={'class':'article-comments'}),  #m.xataka.com
                          dict(name='nav' , attrs={'class':'article-taxonomy'})   #m.xataka.com
			 ]

    remove_tags_after  = dict(name='section' , attrs={'class':'comments'})

    def print_version(self, url):
          return url.replace('http://www.', 'http://m.')

    preprocess_regexps = [
                            # Para poner una linea en blanco entre un comentario y el siguiente
                           (re.compile(r'<li id="c', re.DOTALL|re.IGNORECASE), lambda match: '<br><br><li id="c'),
                            # Para ver las imágenes en las noticias de m.xataka.com
                           (re.compile(r'<noscript>', re.DOTALL|re.IGNORECASE), lambda m: ''),
                           (re.compile(r'</noscript>', re.DOTALL|re.IGNORECASE), lambda m: '')
                         ]
    

    # Para sustituir el video incrustado de YouTube por una imagen

    def preprocess_html(self, soup):
        for video_yt in soup.findAll('iframe',{'title':'YouTube video player'}):
            if video_yt:
               video_yt.name = 'img'
               fuente = video_yt['src']
               fuente2 = fuente.replace('http://www.youtube.com/embed/','http://img.youtube.com/vi/')
               fuente3 = fuente2.replace('?rel=0','') 
               video_yt['src'] = fuente3 + '/0.jpg'

        return soup

    # Para obtener la url original del articulo a partir de la de "feedsportal"
    # El siguiente código es gracias al usuario "bosplans" de www.mobileread.com
    # https://www.mobileread.com/forums/showthread.php?t=130297

    def get_article_url(self, article):
       link = article.get('link', None)
       if link is None:
           return article
       # if link.split('/')[-4]=="xataka2":
       #     return article.get('feedburner_origlink', article.get('link', article.get('guid')))
       if link.split('/')[-4]=="xataka2":
           return article.get('guid', None)
       if link.split('/')[-1]=="story01.htm":
           link=link.split('/')[-2]
           a=['0B','0C','0D','0E','0F','0G','0N'  ,'0L0S','0A']
           b=['.' ,'/' ,'?' ,'-' ,'=' ,'&' ,'.com','www.','0']
           for i in range(0,len(a)):
              link=link.replace(a[i],b[i])
           link="http://"+link
       return link
desUBIKado is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Kindle 4 NT - Updated Screen-saver code, updated hack bmsleight Amazon Kindle 2 10-07-2012 03:57 PM
Update recipe: weblogssl [ES] desUBIKado Recipes 0 06-30-2012 11:46 AM
Fixed recipes: weblogssl & elperiodicodearagon [ES] desUBIKado Recipes 0 11-14-2011 02:00 PM
Upgrade recipe for weblogssl (Spanish) desUBIKado Recipes 0 04-13-2011 05:31 PM
updated metadata=updated file? jomaweb Calibre 13 01-28-2010 08:12 PM


All times are GMT -4. The time now is 05:40 AM.


MobileRead.com is a privately owned, operated and funded community.