Initial commit
[blog.git] / posts / 62.html
1 title: Agregador de noticias
2 date: 2005-10-29 10:48
3 ---
4 <div>
5 <p>Basándome en <a href="http://pedroreina.net/noticias/">la idea de Pedro Reina</a> he desarrollado <a href="http://noticias.jsancho.org/">un pequeño agregador de noticias casero</a> para poder estar al día de una forma sencilla. Dejo disponible el <a href="http://noticias.jsancho.org/noticias.tar.gz">código fuente</a> para quien quiera usarlo, copiarlo o mejorarlo. Está bajo licencia GPL y es una mezcla de HTML y PHP.</p>
6
7 <p>El funcionamiento es sencillo. Un fichero de configuración contiene los canales de noticias que me interesan con el formato siguiente:</p>
8
9 <pre>&lt;canal&gt;
10 &lt;nombre&gt;Web personal de Javier Sancho&lt;/nombre&gt;
11 &lt;url&gt;http://www.jsancho.org/&lt;/url&gt;
12 &lt;origen&gt;http://www.jsancho.org/bitacora/rss20.php&lt;/origen&gt;
13 &lt;cache&gt;jsancho.rss&lt;/cache&gt;
14 &lt;tiempo&gt;30&lt;/tiempo&gt;
15 &lt;/canal&gt;</pre>
16
17 <p>El <b>nombre</b> y la <b>URL</b> se usan por motivos estéticos e informativos de la web. El <b>origen</b> es la ruta del fichero de sindicación, la <b>caché</b> es el nombre que le damos al fichero en nuestra caché y <b>tiempo</b> nos indica los minutos de validez que tiene el fichero en la caché.</p>
18
19 <p>El sistema recoge los canales de noticias de nuestro fichero de configuración y busca los correspondientes archivos de sindicación en la caché. Si no los encuentra o si han superado su tiempo de validez se descargan desde la ruta indicada en <b>origen</b>. De esta forma consigo estar al tanto de las noticias sin necesidad de usar ninguna tarea cron y al mismo tiempo puedo especificar tiempos de refresco distintos según la frecuencia de actualización de los distintos canales de noticias.</p>
20
21 <p>La actualización de la caché se realiza por medio de la conexión del servidor web así que dependerá de su ancho de banda lo que nos cueste cargar la página si debe actualizar los ficheros de algunos o de todos los canales.</p>
22 </div>