mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Various Uruguayan news sources by Carlos Alves
Merge branch 'recipes_uruguay' of https://github.com/carlosalves90/calibre
This commit is contained in:
commit
11374b1520
50
recipes/10minutos.recipe
Normal file
50
recipes/10minutos.recipe
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
__license__ = 'GPL v3'
|
||||||
|
__author__ = '2013, Carlos Alves <carlosalves90@gmail.com>'
|
||||||
|
'''
|
||||||
|
10minutos.com.uy
|
||||||
|
'''
|
||||||
|
|
||||||
|
from calibre.web.feeds.news import BasicNewsRecipe
|
||||||
|
|
||||||
|
class General(BasicNewsRecipe):
|
||||||
|
title = '10minutos'
|
||||||
|
__author__ = 'Carlos Alves'
|
||||||
|
description = 'Noticias de Salto - Uruguay'
|
||||||
|
tags = 'news, sports'
|
||||||
|
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(name='div', attrs={'class':'post-content'})]
|
||||||
|
|
||||||
|
remove_tags = [
|
||||||
|
dict(name='div', attrs={'class':['hr', 'titlebar', 'navigation']}),
|
||||||
|
dict(name='p', attrs={'class':'post-meta'}),
|
||||||
|
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'Articulos', u'http://10minutos.com.uy/feed/')
|
||||||
|
]
|
||||||
|
|
||||||
|
def get_cover_url(self):
|
||||||
|
return 'http://10minutos.com.uy/a/img/logo.png'
|
||||||
|
|
||||||
|
def preprocess_html(self, soup):
|
||||||
|
for item in soup.findAll(style=True):
|
||||||
|
del item['style']
|
||||||
|
return soup
|
51
recipes/diario_el_pueblo.recipe
Normal file
51
recipes/diario_el_pueblo.recipe
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
__license__ = 'GPL v3'
|
||||||
|
__author__ = '2013, Carlos Alves <carlosalves90@gmail.com>'
|
||||||
|
'''
|
||||||
|
diarioelpueblo.com.uy
|
||||||
|
'''
|
||||||
|
|
||||||
|
from calibre.web.feeds.news import BasicNewsRecipe
|
||||||
|
|
||||||
|
class General(BasicNewsRecipe):
|
||||||
|
title = 'Diario El Pueblo'
|
||||||
|
__author__ = 'Carlos Alves'
|
||||||
|
description = 'Noticias de Salto - Uruguay'
|
||||||
|
tags = 'news, sports'
|
||||||
|
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(name='div', attrs={'class':'post-alt blog'})]
|
||||||
|
|
||||||
|
remove_tags = [
|
||||||
|
dict(name='div', attrs={'class':['hr', 'titlebar', 'volver-arriba-right','navigation']}),
|
||||||
|
dict(name='div', attrs={'id':'comment','id':'suckerfish','id':'crp_related'}),
|
||||||
|
dict(name='h3', attrs={'class':['post_date']}),
|
||||||
|
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'Articulos', u'http://www.diarioelpueblo.com.uy/feed')
|
||||||
|
]
|
||||||
|
|
||||||
|
def get_cover_url(self):
|
||||||
|
return 'http://www.diarioelpueblo.com.uy/wp-content/uploads/2013/06/Cabezal_Web1.jpg'
|
||||||
|
|
||||||
|
def preprocess_html(self, soup):
|
||||||
|
for item in soup.findAll(style=True):
|
||||||
|
del item['style']
|
||||||
|
return soup
|
50
recipes/diario_salto.recipe
Normal file
50
recipes/diario_salto.recipe
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
__license__ = 'GPL v3'
|
||||||
|
__author__ = '2013, Carlos Alves <carlosalves90@gmail.com>'
|
||||||
|
'''
|
||||||
|
diarisalto.com.uy
|
||||||
|
'''
|
||||||
|
|
||||||
|
from calibre.web.feeds.news import BasicNewsRecipe
|
||||||
|
|
||||||
|
class General(BasicNewsRecipe):
|
||||||
|
title = 'Diario Salto'
|
||||||
|
__author__ = 'Carlos Alves'
|
||||||
|
description = 'Noticias de Salto - Uruguay'
|
||||||
|
tags = 'news, sports'
|
||||||
|
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(name='div', attrs={'class':'post'})]
|
||||||
|
|
||||||
|
remove_tags = [
|
||||||
|
dict(name='div', attrs={'class':['hr', 'titlebar', 'navigation']}),
|
||||||
|
dict(name='div', attrs={'id':'comment'}),
|
||||||
|
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'Articulos', u'http://www.diariosalto.com.uy/feed/atom')
|
||||||
|
]
|
||||||
|
|
||||||
|
def get_cover_url(self):
|
||||||
|
return 'http://diariosalto.com.uy/demo/wp-content/uploads/2011/12/diario-salto_logo-final-b-b.png'
|
||||||
|
|
||||||
|
def preprocess_html(self, soup):
|
||||||
|
for item in soup.findAll(style=True):
|
||||||
|
del item['style']
|
||||||
|
return soup
|
@ -1,18 +1,23 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
|
##
|
||||||
|
## Last Edited: 2013-09-29 Carlos Alves <carlosalves90@gmail.com>
|
||||||
|
##
|
||||||
|
|
||||||
__license__ = 'GPL v3'
|
__license__ = 'GPL v3'
|
||||||
__author__ = '2010, Yuri Alvarez<me at yurialvarez.com>'
|
__author__ = '2010, Yuri Alvarez<me at yurialvarez.com>'
|
||||||
__copyright__ = '2008, Kovid Goyal kovid@kovidgoyal.net'
|
__copyright__ = '2008, Kovid Goyal kovid@kovidgoyal.net'
|
||||||
|
|
||||||
'''
|
'''
|
||||||
observa.com.uy
|
elobservador.com.uy
|
||||||
'''
|
'''
|
||||||
|
|
||||||
from calibre.web.feeds.news import BasicNewsRecipe
|
from calibre.web.feeds.news import BasicNewsRecipe
|
||||||
|
|
||||||
class ObservaDigital(BasicNewsRecipe):
|
class Noticias(BasicNewsRecipe):
|
||||||
title = 'Observa Digital'
|
title = 'El Observador'
|
||||||
__author__ = 'yrvn'
|
__author__ = 'yrvn'
|
||||||
description = 'Noticias de Uruguay'
|
description = 'Noticias desde Uruguay'
|
||||||
|
tags = 'news, sports, entretainment'
|
||||||
language = 'es_UY'
|
language = 'es_UY'
|
||||||
timefmt = '[%a, %d %b, %Y]'
|
timefmt = '[%a, %d %b, %Y]'
|
||||||
use_embedded_content = False
|
use_embedded_content = False
|
||||||
@ -23,13 +28,18 @@ class ObservaDigital(BasicNewsRecipe):
|
|||||||
|
|
||||||
oldest_article = 2
|
oldest_article = 2
|
||||||
max_articles_per_feed = 100
|
max_articles_per_feed = 100
|
||||||
keep_only_tags = [dict(id=['contenido'])]
|
keep_only_tags = [
|
||||||
|
dict(name='div', attrs={'class':'story collapsed'})
|
||||||
|
]
|
||||||
remove_tags = [
|
remove_tags = [
|
||||||
dict(name='div', attrs={'id':'contenedorVinculadas'}),
|
dict(name='div', attrs={'class':['fecha', 'copyright', 'story_right']}),
|
||||||
dict(name='p', attrs={'id':'nota_firma'}),
|
dict(name='div', attrs={'class':['photo', 'social']}),
|
||||||
|
dict(name='div', attrs={'id':'widget'}),
|
||||||
dict(name=['object','link'])
|
dict(name=['object','link'])
|
||||||
]
|
]
|
||||||
|
|
||||||
|
remove_attributes = ['width','height', 'style', 'font', 'color']
|
||||||
|
|
||||||
extra_css = '''
|
extra_css = '''
|
||||||
h1{font-family:Geneva, Arial, Helvetica, sans-serif;color:#154B7A;}
|
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;}
|
h3{font-size: 14px;color:#999999; font-family:Geneva, Arial, Helvetica, sans-serif;font-weight: bold;}
|
||||||
@ -37,19 +47,9 @@ class ObservaDigital(BasicNewsRecipe):
|
|||||||
p {font-family:Arial,Helvetica,sans-serif;}
|
p {font-family:Arial,Helvetica,sans-serif;}
|
||||||
'''
|
'''
|
||||||
feeds = [
|
feeds = [
|
||||||
(u'Actualidad', u'http://www.observa.com.uy/RSS/actualidad.xml'),
|
(u'Portada', u'http://elobservador.com.uy/rss/portada/'),
|
||||||
(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):
|
def preprocess_html(self, soup):
|
||||||
for item in soup.findAll(style=True):
|
for item in soup.findAll(style=True):
|
||||||
|
50
recipes/padreydecano.recipe
Normal file
50
recipes/padreydecano.recipe
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
__license__ = 'GPL v3'
|
||||||
|
__author__ = '2013, Carlos Alves <carlosalves90@gmail.com>'
|
||||||
|
'''
|
||||||
|
padreydecano.com
|
||||||
|
'''
|
||||||
|
|
||||||
|
from calibre.web.feeds.news import BasicNewsRecipe
|
||||||
|
|
||||||
|
class General(BasicNewsRecipe):
|
||||||
|
title = 'Padre y Decano'
|
||||||
|
__author__ = 'Carlos Alves'
|
||||||
|
description = 'El sitio del pueblo'
|
||||||
|
tags = 'soccer, futbol, Peñarol'
|
||||||
|
language = 'es_UY'
|
||||||
|
timefmt = '[%a, %d %b, %Y]'
|
||||||
|
use_embedded_content = False
|
||||||
|
recursion = 5
|
||||||
|
encoding = None
|
||||||
|
remove_javascript = True
|
||||||
|
no_stylesheets = True
|
||||||
|
|
||||||
|
oldest_article = 2
|
||||||
|
max_articles_per_feed = 100
|
||||||
|
keep_only_tags = [
|
||||||
|
dict(name='h1', attrs={'class':'entry-title'}),
|
||||||
|
dict(name='div', attrs={'class':'entry-content clearfix'})
|
||||||
|
]
|
||||||
|
|
||||||
|
remove_tags = [
|
||||||
|
dict(name='div', attrs={'class':['br', 'hr', 'titlebar', 'navigation']}),
|
||||||
|
dict(name='dl', attrs={'class':'gallery-item'}),
|
||||||
|
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'Padre y Decano | Club Atlético Peñarol', u'http://www.padreydecano.com/cms/feed/')
|
||||||
|
]
|
||||||
|
|
||||||
|
def preprocess_html(self, soup):
|
||||||
|
for item in soup.findAll(style=True):
|
||||||
|
del item['style']
|
||||||
|
return soup
|
56
recipes/unoticias.recipe
Normal file
56
recipes/unoticias.recipe
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
__license__ = 'GPL v3'
|
||||||
|
__author__ = '2013, Carlos Alves <carlosalves90@gmail.com>'
|
||||||
|
'''
|
||||||
|
unoticias.com.uy
|
||||||
|
'''
|
||||||
|
|
||||||
|
from calibre.web.feeds.news import BasicNewsRecipe
|
||||||
|
|
||||||
|
class General(BasicNewsRecipe):
|
||||||
|
title = 'UNoticias'
|
||||||
|
__author__ = 'Carlos Alves'
|
||||||
|
description = 'Noticias Uruguay'
|
||||||
|
tags = 'news, sports, politics'
|
||||||
|
language = 'es_UY'
|
||||||
|
timefmt = '[%a, %d %b, %Y]'
|
||||||
|
use_embedded_content = False
|
||||||
|
recursion = 5
|
||||||
|
encoding = 'ISO-8859-1'
|
||||||
|
remove_javascript = True
|
||||||
|
no_stylesheets = True
|
||||||
|
|
||||||
|
oldest_article = 2
|
||||||
|
max_articles_per_feed = 100
|
||||||
|
keep_only_tags = [
|
||||||
|
dict(name='h1', attrs={'class':'nombre'}),
|
||||||
|
dict(name='h2', attrs={'class':'copete t20'}),
|
||||||
|
dict(name='div', attrs={'class':'desc'})
|
||||||
|
]
|
||||||
|
|
||||||
|
remove_tags = [
|
||||||
|
dict(name='div', attrs={'class':['br', 'hr', 'titlebar', 'navigation']}),
|
||||||
|
dict(name='div', attrs={'id':'comment'}),
|
||||||
|
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'Nacionales', u'http://www.unoticias.com.uy/RSS/nacionales.xml'),
|
||||||
|
(u'Deportes', u'http://www.unoticias.com.uy/RSS/deportes.xml'),
|
||||||
|
(u'Sociedad', u'http://www.unoticias.com.uy/RSS/Sociedad.xml')
|
||||||
|
]
|
||||||
|
|
||||||
|
def get_cover_url(self):
|
||||||
|
return 'http://www.unoticias.com.uy/artworks/logos/logo_small.gif'
|
||||||
|
|
||||||
|
def preprocess_html(self, soup):
|
||||||
|
for item in soup.findAll(style=True):
|
||||||
|
del item['style']
|
||||||
|
return soup
|
Loading…
x
Reference in New Issue
Block a user