Saltar al contenido

Como crear recetas de Calibre para recibir noticias en tu e-reader

  • Rubén 

Un ereader ofrece muchas posibilidades y una de las más interesante es la opción de recibir prensa o revistas en nuestro lector directamente de una fuente RSS.


Calibre, uno de los mejores gestores que existen para nuestra biblioteca electrónica, incorpora numerosas recetas de prensa y revistas internacionales, que se pueden usar desde el mismo programa, haciendo una descarga manual o ejecutando Calibre en modo servidor, o también en webs del tipo readbeam que se dedican a enviar los archivos de modo automático.

El único problema es que la oferta de medios que incorpora el programa es limitada, por lo que resulta interesante ser capaces de crear nuestras propias recetas para descargar las revistas o periódicos que queramos o simplemente personalizar las existentes. Vamos al lío!

La cabecera es siempre igual:


__license__ = ‘GPL v3’
__author__ = ‘Ruben Alvarez’
description = ‘pon lo que quieras’
__docformat__ = ‘restructuredtext en’

En author ponéis vuestro nombre y en description lo que os parezca.

Después viene la receta:


from calibre.web.feeds.recipes import BasicNewsRecipe
class Publico(BasicNewsRecipe):
title =u’Nombre del periodico o revista’
__author__ =’Ruben Alvarez’
oldest_article = 7
max_articles_per_feed = 15
encoding =’utf8′
language =’es’
remove_javascript =True
no_stylesheets =True
remove_empty_feeds = True
use_embedded_content = False

Title: define el título de la receta, es importante porque calibre guardará el archivo con ese nombre y vosotros lo recibiréis en el ereader con ese título.

Author: volvéis a poner vuestro nombre que para eso os lo habéis currado.

oldest_article: Indica el número de días del artículo más antiguo a descargar, si solo queréis los del último día ponéis un 1.

max_articles_per_feed: Marca el número máximo de artículos por sección que se descargarán, tantos para economía, tantos para sucesos y tantos para deportes.

encoding: Define la codificación de caracteres de la web, normalmente utf8 aunque si las ñ y las tildes no salen bien, probad el iso-8859-1

language: Define el idioma de la publicación, útil para usar los diccionarios del ereader.

Todo lo demás os recomiendo dejarlo como está, pensad que en el ereader todo el contenido extra, javascript y hojas de estilo css no se podrán utilizar. La línea remove_empty_feeds
define si añadir las secciones que no contengan artículos o borrarlas para no generar enlaces vacíos. Puede ser que un día en el faro de Albarracín no se publiquen noticias de sucesos…

La siguiente etiqueta es opcional:


cover_url =u’direccion url de una imagen de portada’

Define la url de la portada del ebook que vais a crear, si no ponéis nada, calibre creará una por defecto.

Ahora viene lo importante:


feeds=
[(u’Seccion 1′, u’Direccion del rss de la seccion 1′),
(u’Seccion 2′, u’Direccion del rss de la seccion 2′),
(u’Seccion 3′, u’Direccion del rss de la seccion 3′),
]

Cada línea es una sección distinta del periódico que debe ir acompañada de su url de feed correspondiente, por supuesto podéis cambiar los títulos y las url y también podéis borrar o añadir secciones. Ya casi está listo.

A veces en la prensa, un artículo incorpora más datos de los que necesitamos. Algunos anuncios, los botones de compartir de las redes sociales, información sobre la persona que publica, más publicidad… Todo eso conviene borrarlo de nuestro ebook, sino pesará mucho y tendremos muchísima información duplicada.

Este paso es diferente en cada publicación, solo tenéis que ir al periódico que queréis y visualizar el código fuente de una página de un artículo cualquiera. Os saldrá una página con código que hay que interpretar. En cada navegador se hace de una manera distinta, en firefox sería Herramientas> Desarrollador web> Código fuente de la página.

Veréis mucha paja, todos los botones de control de la web, los anuncios… así hasta que empieza el artículo, un ejemplo sería este:


keep_only_tags =
[dict(name=’h2′,attrs={‘class’:’contentheading’}),
dict(name=’div’,attrs={‘id’:’article-meta’},
]

Esta orden le dice al calibre que secciones de cada artículo son las que debe leer. Esas secciones debéis sacarlas de la parte del código fuente que os comentaba. En este caso nos quedaremos con un h2 cuyo atributo class es content heading y con un div cuyo atributo id es article-meta.

Cuando lo hayáis hecho, puede ser que todavía queden cosas de más, hay algunas partes que se cuelan por el medio de un artículo como puede ser un vídeo o una presentación de imágenes. La orden:


remove_tags =
[dict(name=’div’,attrs={‘class’:’article-tools2′}),
dict(name=’ul’,attrs={‘class’:’nav clearfix’}),
]

Elimina esas partes de la selección. Igual que antes, deberéis ver que nombre tienen en el código fuente de la página.

Ya está, ya tenemos la receta creada, pulsamos sobre añadir receta y ya podremos descarga la prensa desde calibre, luego podréis subir el archivo a readbeam para que se descargue cada día de forma automática.

Hace falta tener una mínima idea de html, aunque no es imprescindible, si tenéis dudas aquí estaré encantado de responder.

Saludos

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *