PDA

Ver la Versión Completa : FullRSS_Reader - Version pre-alfa



Vilon
28/09/2008, 14:21
-------------------------------------------------------------------------------------------------------------------------------------------------

pre-alfa v0.2

http://www.lectoreselectronicos.com/index.php?name=PNphpBB2&file=viewtopic&p=1925&high light=#1925

Listado de cambios:


- Mejoras de rendimiento
- Soporte FB2


-------------------------------------------------------------------------------------------------------------------------------------------------

Hola a todos.

Me he estado estoy días construyendo uno pequeño programilla que creo que es bastante útil para nuestros lectores electrónicos, y querría compartirlo con vosotros.

Se trata de una pequeña aplicación Java que a partir de una lista de feeds RSS se encarga de ir a recoger el texto completo de las noticias a la fuente de las mismas y exportar todo en un fichero html.

http://img254.imageshack.us/img254/1674/dscn0136ag4.th.jpg (http://img254.imageshack.us/my.php?image=dscn0136ag4.jpg)http://img254.imageshack.us/images/thpix.gif (http://g.imageshack.us/thpix.php)

De esta manera tenemos acceso al contenido completo de la noticia y no solo el resumen como se nos ofrece en la mayoría de WEB's.

Un ejemplo del diario la nueva España.
Texto original obtenido por un lector de feeds cualquiera:


Más de 300 montañeros veteranos pertenecientes a la Federación Asturiana de Montañismo, coincidiendo con el 50.º aniversario del grupo de montaña de San Claudio, realizarán una marcha por el centro urbano y rural de la localidad ovetense. La salida...
Artículo:
http://www.lne.es/secciones/noticia.jsp?pRef=2008092800_31_679832__Oviedo-veteranos-realizan-marcha-Claudio

Artículo completo obtenido con FullRSS_Reader:

Los veteranos realizan una marcha por San Claudio
2008-09-27T22:00:09Z
http://www.lne.es/secciones/noticia.jsp?pRef=2008092800_31_679832__Oviedo-veteranos-realizan-marcha-Claudio

Más de 300 montañeros veteranos pertenecientes a la Federación Asturiana de Montañismo, coincidiendo con el 50.º aniversario del grupo de montaña de San Claudio, realizarán una marcha por el centro urbano y rural de la localidad ovetense. La salida...

Más de 300 montañeros veteranos pertenecientes a la Federación Asturiana de Montañismo, coincidiendo con el 50.º aniversario del grupo de montaña de San Claudio, realizarán una marcha por el centro urbano y rural de la localidad ovetense. La salida será a las once de la mañana del centro social, y la duración estimada es de tres horas.

Los participantes recibirán por parte de la organización, de manera totalmente gratuita, una bolsa con provisiones como chocolate, bebidas energéticas, manzanas, o un bollo de chorizo, además de un diploma personalizado y un póster.


El programa os lo podéis descargar de aquí http://rapidshare.com/files/149094484/FullRSS_Reader.rar.html

Como funciona

Bueno es un versión muy básica y no tiene un entorno gráfico, pero solo hay que tocar un archivo de configuración que explico a continuación y ejecutar el archivo FullRSS_Reader.jar.

El archivo de configuración

En el archivo data.xml se encuentran los feeds que el programa consultará para obtener las noticias así como unos sencillos parámetros de configuración que hay que indicar para cada uno de ellos. En el zip se adjunta un ejemplo de este archivo configurado para varios sitios.
Paso a explicar que es cada una de las etiquetas de dicho archivo

<type> Tenia pensado usarlo en próximas versiones para clasificar los feeds por temáticas, de momento no tiene ningún significado...

<site> Indica un sitio WEB del que obtenemos los feeds hay que indicar 2 parámetros
name - nombre para el sitio
encoding - codificación que utiliza el sitio (suele ser UTF-8 o si no iso-8859-1) probáis y donde se os vean bien los acentos eñes...

Dentro de <site> se encuentran 3 etiquetas importantes que sirven al programa para saber que parte de los documentos html, en que se encuentran las noticias del sitio web en cuestión, tiene que procesar.
<htmlSeparatorTag> indica una etiqueta html única dentro de la cual se encuentra el texto de la noticia. Pongo un ejemplo para que se entienda mejor.


Supongamos que tenemos un sitio "ElOtroLado.net" solo tenemos que mirar el código fuente de una de sus noticias y mirar dentro de que etiqueta "característica" (es decir "UNICA" en el documento) se encuentra la noticia.

Así que miramos el código fuente de una de sus noticias y vemos algo como esto:

http://img261.imageshack.us/img261/2005/codigohtmlyf5.th.jpg (http://img261.imageshack.us/my.php?image=codigohtmlyf5.jpg)http://img261.imageshack.us/images/thpix.gif (http://g.imageshack.us/thpix.php)

Como se puede observar el texto de la noticia se encuentra dentro de la etiqueta <div class="content"> así que eso es lo que pondremos en <htmlSeparatorTag> PERO por problemas con los XML hemos de sustituir los caracteres < e > por {open} {close} respectivamente.
Quedaría así:

<site name="El Otro Lado" encoding="utf-8">
<htmlSeparatorTag>{open}div class="content"{close}</htmlSeparatorTag>

Un consejo: Hay que estar seguro que la etiqueta encierra lo mas ajustadamente posible el texto de la noticia para que al procesarla no nos devuelva texto no deseado.



<initString> y <endString> Vale, pero supongamos ahora que el texto de la noticia no se encuentra dentro de una etiqueta definida (por ejemplo esta dentro de varios <p> (o por hay suelto que hay gente muy marrana con el marcado HTML...). En este caso podemos delimitar dicho texto con 2 cadenas de texto características que encontremos en el código. Ejemplo



Vamos a Vandal.net y vemos que el código de una de sus noticias tiene esta pinta:

http://img254.imageshack.us/img254/664/codigohtml2bi3.th.jpg (http://img254.imageshack.us/my.php?image=codigohtml2bi3.jpg)http://img254.imageshack.us/images/thpix.gif (http://g.imageshack.us/thpix.php)

Como vemos el texto de la noticia no esta dentro de ninguna etiqueta que podamos identificar como "única" en cambio si que esta entre 2 cadenas de texto identificables y unicas ("<div class="textart" style="clear:left;">" y "function Enviar(tipo)")

Asi que en el archivo de configuración:


<site name="Vandal" encoding="iso-8859-1">
<initString>{open}div class="textart" style="clear:left;"{close}</initString>
<endString>function Enviar(tipo)</endString>




<channel> Indica los canales del sitio de los que queremos obtener noticias. Puede haber varios o solo uno.
De ellos hay que indicar el nombre y la dirección al archivo de feeds rss. Ejemplo: <channel name="Lo Más Leido" link="http://www.lne.es/elementosInt/rss/LoMas"/>

Ejemplo de archivo de configuración con varios sitios


<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE root SYSTEM "data.dtd">

<root>
<type id="Videojuegos">
<site name="El Otro Lado" encoding="utf-8">
<htmlSeparatorTag>{open}div class="content"{close}</htmlSeparatorTag>
<channel name="EOL" link="http://www.elotrolado.net/feed.php?t=1"/>
</site>
<site name="Vandal" encoding="iso-8859-1">
<initString>{open}div class="textart" style="clear:left;"{close}</initString>
<endString>function Enviar(tipo)</endString>
<channel name="Vandal" link="http://www.vandal.net/cgi-bin/xml.cgi"/>
</site>
</type>
<type id="Periodicos">
<site name="La Nueva España" encoding="iso-8859-1">
<htmlSeparatorTag>{open}div id="noticia_texto" class="noticia_texto"{close}</htmlSeparatorTag>
<channel name="Oviedo" link="http://www.lne.es/elementosInt/rss/31"/>
<channel name="Lo Más Leido" link="http://www.lne.es/elementosInt/rss/LoMas"/>
<channel name="Sección al Minuto" link="http://www.lne.es/elementosInt/rss/AlMinuto"/>
<channel name="Sociedad y Cultura" link="http://www.lne.es/elementosInt/rss/46"/>
<channel name="Sucesos" link="http://www.lne.es/elementosInt/rss/47"/>
<channel name="Última Página" link="http://www.lne.es/elementosInt/rss/50"/>
</site>
<site name="El Pais" encoding="iso-8859-1">
<htmlSeparatorTag>{open}div class="info_complementa"{close}</htmlSeparatorTag>
<channel name="Cultura" link="http://www.ELPAIS.com/rss/rss_section.html?anchor=elpporcul"/>
<channel name="España" link="http://www.ELPAIS.com/rss/rss_section.html?anchor=elppornac"/>
</site>
</type>
<type id="Tecnologia">
<site name="Noticias3D" encoding="iso-8859-1">
<htmlSeparatorTag>{open}span id="intelliTXT"{close}</htmlSeparatorTag>
<channel name="Noticias3D" link="http://feed43.com/1358588145342036.xml"/>
</site>
</type>
</root>


Ejecutando...
Una vez tengáis listo el archivo de configuración con los feeds que os interesan no tenéis más que hacer doble clik en el archivo FullRSS_Reader.jar y esperar. Los archivos HTML de salida se sitúan el el directorio HTML_files de la aplicación.
El programa no avisa de cuando ha terminado(recordar que es una pre-alfa :D). Así que esperar a que los archivos dentro de la carpeta antes mencionada dejen de crecer... Dependiendo de los feeds que tengáis y las noticias que halla puede tardar un rato...

El resultado

Abierto con un navegador
http://img254.imageshack.us/img254/9553/resul1tm1.th.jpg (http://img254.imageshack.us/my.php?image=resul1tm1.jpg)http://img254.imageshack.us/images/thpix.gif (http://g.imageshack.us/thpix.php)

En un Papyre V3 (formato HTML)
http://img254.imageshack.us/img254/1674/dscn0136ag4.th.jpg (http://img254.imageshack.us/my.php?image=dscn0136ag4.jpg)http://img254.imageshack.us/images/thpix.gif (http://g.imageshack.us/thpix.php)

En un Papyre V3 (pasado a fb2 con book designer)
http://img254.imageshack.us/img254/5443/dscn0135zq3.th.jpg (http://img254.imageshack.us/my.php?image=dscn0135zq3.jpg)http://img254.imageshack.us/images/thpix.gif (http://g.imageshack.us/thpix.php)

http://img254.imageshack.us/img254/756/dscn0131pb1.th.jpg (http://img254.imageshack.us/my.php?image=dscn0131pb1.jpg)http://img254.imageshack.us/images/thpix.gif (http://g.imageshack.us/thpix.php)

Próximas actualizaciones Si veo que tiene algo de éxito...
- Exportar directamente a FB2
- Traer imágenes de las fuentes
- Entorno grafico para facilitar la configuración
- No descargar los feeds si no hay actualizaciones
- ...


Si queréis que os haga la configuración para un sitio concreto me lo pedís y sin problemas.

¡¡Admito sugerencias!!

Un saludo.

kiermel
28/09/2008, 14:37
Muchas gracias por el trabajo. Por ahora algo complejo. En Mac he ejecutado el jar y me da error. Esperaré mejoras. Y sobre todo el paso a FB2.

hernad
29/09/2008, 01:56
Muchas gracias, tiene muy buena pinta.

facthor
29/09/2008, 08:27
Desde luego Vilon...
Es justo lo que estoy haciendo en la sección de Periódicos en Grammata.es
Estoy permitiendo más de una etiqueta, varios rss para un periódico y te lo bajas directamente en fb2...
Si quieres participar en el proyecto no tienes mas que decirlo y te metemos de lleno...

La idea es tener todo un conjunto de Periódicos, Blogs y Revistas, como un lector de feeds pero para cargar en Papyre.

Tambien estoy empezando a negociar con ARDE para poner un canal de revistas digitales con su hemeroteca y revistas mensuales en formato FB2, yo les pongo el soporte físico y ellos ponen el contenido, pero claro quieren cobrar (pequeño detalle).

En fin... proyecto de Hemeroteca Grammata

Saludos. Juan

Vilon
29/09/2008, 22:02
Hola.


En Mac he ejecutado el jar y me da error

¿Puedes decirme que error te da?
¿tienes la ultima versión del runtime de java instalada?


Desde luego Vilon...
Es justo lo que estoy haciendo en la sección de Periódicos en Grammata.es
Estoy permitiendo más de una etiqueta, varios rss para un periódico y te lo bajas directamente en fb2...
Si quieres participar en el proyecto no tienes mas que decirlo y te metemos de lleno...

La idea es tener todo un conjunto de Periódicos, Blogs y Revistas, como un lector de feeds pero para cargar en Papyre.

Tambien estoy empezando a negociar con ARDE para poner un canal de revistas digitales con su hemeroteca y revistas mensuales en formato FB2, yo les pongo el soporte físico y ellos ponen el contenido, pero claro quieren cobrar (pequeño detalle).

En fin... proyecto de Hemeroteca Grammata

Saludos. Juan

Había visto vuestro proyecto pero pensé que usabais un procesado independiente para cada fuente. Mi intención entonces fue el crearme algo más general con el que prepararme las noticias de los sitios que a mi me interesaban.

Me encanta el trabajo que habéis hecho hasta ahora, no solo con los periódicos, si no con todas las nuevas iniciativas que estáis llevando a cabo para promocionar vuestro lector, y me encantaría participar en ello pero el miércoles empiezo de nuevo a clase :( y estaré muy mal de tiempo. Dudo siquiera si seguiré adelante con el programilla este a no ser que me lo admitan como PFC o algo...

Un saludo.

PD: a ver si mañana puedo poner algunos archivos de configuración que me he estado creando para los principales periódicos del país y otras páginas que yo considero interesantes.

katxan
29/09/2008, 22:47
Te mereces un aplauso y todas las felicitaciones del mundo, y, por supuesto, las gracias por compartir con el resto de la gente ^:)^ .

Por supuesto, agregaré tu programa a la sección de descargas y seguiremos con interés tus progresos y mejoras del mismo.

kiermel
30/09/2008, 15:13
Yo no uso Windows, uso Mac OS X Leopard.
Java está actualizado, y además todos los programas que funcionan en java funcionan sin problemas.

Este es el error que me da al ejecutar el jar:
http://s1.subirimagenes.com/imagen/1193461imagen-1.png

Vilon
30/09/2008, 22:02
Yo no uso Windows, uso Mac OS X Leopard.
Java está actualizado, y además todos los programas que funcionan en java funcionan sin problemas.

Este es el error que me da al ejecutar el jar:

Que casa mas rara. Si puedes mirar los mensajes de error que te da la consola...

Como os comente aqui os dejo una serie de data.xml que me he estado preparando para las páginas que suelo visitar.

http://rapidshare.com/files/149782890/data_xml_samples.rar.html

Están los de los periódicos:
- El Mundo
- El Pais
- La Nueva España
- La voz de Asturias

Y otras páginas como:
- Cadena SER (noticias)
- Noticias3D (La mejor página de tecnología e informática en castellano, al menos para mi) -> se actualiza cada 6 horas el feed debido a que no tienen rss y he pillado uno que han hecho con "Feed43"
- El Otro Lado (Videojuegos e Internet)
- Meristation (Videojuegos)
- Vandal (Videojuegos)

No tenéis más que coger el fichero que os interese y renombrarlo como data.xml sustituyéndolo por el que este en ese momento.

Un saludo!

Chikitulfo
02/10/2008, 09:05
suena muy muy bien! :D

katxan
02/10/2008, 16:58
Vilon, te he unificado los dos mensajes que habías puesto con el mismo contenido porque podía dar lugar a confusión, yo mismo he pensado que se habían esfumado varias respuestas hasta que me he dado cuenta de que tenías el mismo mensaje repetido en dos subforos diferentes, así que he fundido los dos hilos en uno solo y lo he dejado en el Foro general. Si prefieres que esté en el foro del HanlinV3, como lo habías puesto la primera vez, me lo dices aquí mismo y te lo muevo, aunque al crear los archivos en html en realidad sirve para cualquier lector.

También he puesto tu programita en la sección de descargas de la web. Buen trabajo ;) .

Vilon
02/10/2008, 20:16
Vilon, te he unificado los dos mensajes que habías puesto con el mismo contenido

Perfecto. Mi intención primera era publicarlo en este foro ya que no es una aplicación exclusiva para el Hanlyn, lo que pasa que me equivoque al postear…

Muchas gracias.

He estado realizando algunas mejoras en el rendimiento del programa y posiblemente este fin de semana tenga implementado el exportar en FB2.
Colgare una nueva versión cuando este listo.

Un saludo.

Vilon
03/10/2008, 14:05
Hola.

Pues me he puesto un rato hoy por la mañana y el programa ya exporta en FB2.

http://rapidshare.com/files/150546018/FullRSS_Reader.rar.html

Crea una sección por cada canal y otro dentro de este por cada noticia.

Por ejemplo el índice para el periódico de la nueva España quedaría así:

Secciones por cada canal del periodico que nos interesa
http://img171.imageshack.us/img171/1231/dscn0138uw1.th.jpg (http://img171.imageshack.us/my.php?image=dscn0138uw1.jpg)http://img171.imageshack.us/images/thpix.gif (http://g.imageshack.us/thpix.php)

Noticias dentro de esa sección concreta
http://img171.imageshack.us/img171/2922/dscn0140nh5.th.jpg (http://img171.imageshack.us/my.php?image=dscn0140nh5.jpg)http://img171.imageshack.us/images/thpix.gif (http://g.imageshack.us/thpix.php)

Una noticia de la sección abierta
http://img171.imageshack.us/img171/248/dscn0142ri6.th.jpg (http://img171.imageshack.us/my.php?image=dscn0142ri6.jpg)http://img171.imageshack.us/images/thpix.gif (http://g.imageshack.us/thpix.php)

Por defecto ahora al ejecutar el programa se exporta directamente a FB2. Si queréis exportar a html abrís una ventana de comandos y situados en la misma carpeta donde se encuentra el ejecutable escribís

FULLRSS_READER.jar -html

Un saludo.

johansolo
03/10/2008, 22:14
Hola.

Yo tengo problemas al ejecutar el programa, concretamente me sale este mensaje:


Exception in thread "main" java.lang.NoClassDefFoundError: FULLRSS_READER/jar
Caused by: java.lang.ClassNotFoundException: FULLRSS_READER.jar
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)


Cuando hago java -version me sale lo siguiente:



java version "1.6.0_07"
Java(TM) SE Runtime Environment (build 1.6.0_07-b06)
Java HotSpot(TM) Client VM (build 10.0-b23, mixed mode, sharing)


No se si será por eso o no que yo hace siglos que no toco el java y cada vez que miro por la página entiendo menos la lista de programas y máquinas virtuales que tienen.

Por otra parte he echado un vistazo a los ficheros de ejemplo que tienes y se me ha ocurrido una nueva opción:

- Sentido inverso de las entradas.

Viene muy bien cuando has descubierto un blog y quieres leer un montón de entradas de una sentada. El orden normal (de más nuevo a más viejo) es un tanto incomodo (en el ordenador tb, pero ahí es más fácil navegar).

Dependiendo como hayas programado la adquisición de los datos la opción puede ser trivial (o puede no serlo, eso ya no lo sé).

Y ya que los de grammata miran por aquí me gustaría proponerles que pusieran una opción igual en su sección de periódicos. :D

Gracias por todo y ánimo con el programa capturador de rss.

Vilon
04/10/2008, 20:38
Hola.

Es un problema extraño... Prueba a bajarte de nuevo la MV de aquí
http://www.java.com/es/download/

En cuanto a lo del sentido inverso de las entradas lo tengo en cuenta para una próxima versión ;)

Un saludo.

MAC
04/10/2008, 21:18
Muchas gracias y enhorabuena Vilon por tu programa, lo acabo de probar y ya tengo los contenidos de "La Nueva España" en mi Papyre, ahora sólo me queda jugar con el archivo de configuración ;)

@johansolo: Prueba ejecutar el programa con:


java -jar FULLRSS_READER.jar

y cuéntanos.

kiermel
05/10/2008, 09:36
A mi en Mac OS X Leopard 10.5.5 me sale este error:

Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java :675)
at java.security.SecureClassLoader.defineClass(Secure ClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader .java:260)
at java.net.URLClassLoader.access$100(URLClassLoader. java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java: 195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.j ava:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:3 16)
at sun.misc.Launcher$AppClassLoader.loadClass(Launche r.java:280)
at java.lang.ClassLoader.loadClass(ClassLoader.java:2 51)
at java.lang.ClassLoader.loadClassInternal(ClassLoade r.java:374)

asursargon
05/10/2008, 16:11
Hola,

Excelente iniciativa >:D< >:D< .

He estado probando el programita y aunque soy algo manirroto en esto de la informática he logrado que funcione con algunos periódicos, por ejemplo La Vanguardia. En otras web, extrañamente ponen codificación ISO pero no están escritas correctamente las palabras acentuadas, por ejemplo El Plural. Seguiré haciendo pruebas.
Mi idea es hacer boletines monográficos, por ejemplo la sección de cultura o de tecnología de diversos medios de comunicación. Cuando tenga una cosa que funcione publicaré mi fichrero data.xml