Historias
Slashboxes
Comentarios

Login Barrapunto

Login

[ Crear nueva cuenta ]

DanielSan (10124)

DanielSan
  (email no mostrado públicam.)
http://guslibu.awardspace.com/
Jabber: jasampler@jabberes.org

Nací un buen día, mi madre no era virgen... No vino el rey, tampoco me importó...

Down Kill Up Publicidad

Bitácora de DanielSan (10124)

Miércoles, 25 de Mayo 2005

Otro RSS completo para Barrapunto

01:54h.
Bitácoras
Aprovechando que me manejo bastante bien con Perl, que me gusta Barrapunto y que a mí también me gustaría que su RSS estuviera completo, he programado un pequeño script que genera un RSS a partir de un archivo HTML con la página principal de /., que se suma a algún otro otros filtro ya existente. ¡Quizá también les sirva a los administradores de Barrapunto para ofrecernos una sindicación de contenidos decente!

Aquí os presento a mi bp2xml.pl:
#!/usr/bin/perl
use strict;
use warnings;
# transforma la pagina principal de Barrapunto en un XML util para sindicarlo:
my $html;
{ local $/; $html = <>; }
my $xml = '';
$xml .= qq(<?xml version="1.0" encoding="ISO-8859-1"?>\n) .
        qq(<rss version="2.0">\n) .
        "<channel>\n";
$xml .= "<title>Barrapunto" . "</title>\n" .
        "<link>http://barrapunto.com/" . "</link>\n" .
        "<description>La informaci&#243;n que te interesa</description>\n";
$xml .= "<image>\n" .
        "<title>Barrapunto</title>\n" .
        "<url>http://barrapunto.com/" .
                "topics/topicbarrapunto.png" . "</url>\n" .
        "<link>http://barrapunto.com/" . "</link>\n" .
        "</image>\n";
my ($title, $desc, $description, $link);
while ($html =~ m/<FONT FACE="[^"]*" SIZE="3" COLOR="#FF6600"><B>/) {
        substr($html, 0, $+[0], ''); # borra hasta el final
        $xml .= "<item>\n";
        if ($html =~ m/<\/B>/) {
                $title = substr($html, 0, $-[0]); # recoge hasta el principio
                substr($html, 0, $+[0], '');
                $title =~ s/<[^>]*>//g;
                $xml .= "<title>$title</title>\n";
        }
        $description = '';
        if ($html =~ m/<FONT FACE="[^>]*" SIZE="1">/) {
                substr($html, 0, $+[0], '');
                if ($html =~ m/\s*<\/FONT>/) {
                        $desc = substr($html, 0, $-[0]);
                        $desc =~ s/&/\&amp;/g;
                        $desc =~ s/</\&lt;/g;
                        $desc =~ s/>/\&gt;/g;
                        $desc =~ s/"/\&quot;/g;
                        $description .= "$desc&lt;br/&gt;\n";
                }
        }
        if ($html =~ m/<FONT FACE="[^>]*" SIZE="1">/) {
                substr($html, 0, $+[0], '');
                if ($html =~ m/\s*<\/FONT>/) {
                        $desc = substr($html, 0, $-[0]);
                        $desc =~ s/<[^>]*>//g;
                        $description .= "$desc&lt;br/&gt;\n";
                }
        }
        if ($html =~ m/<\/TD><\/TR>/) {
                $desc = substr($html, 0, $-[0]); # recoge hasta el principio
                substr($html, 0, $+[0], '');
                if ($desc =~ m/<A [^>]*>\s*<IMG [^>]*><\/A>\s*/) {
                        substr($desc, 0, $+[0], '');
                }
                $desc =~ s/\r//g;
                $desc =~ s/&/\&amp;/g;
                $desc =~ s/</\&lt;/g;
                $desc =~ s/>/\&gt;/g;
                $desc =~ s/"/\&quot;/g;
                $desc =~ s/\s*$//;
                $description .= "$desc\n";
        }
        if ($description ne '') {
                $xml .= "<description>$description" . "</description>\n";
        }
        if ($html =~ m/<FONT FACE="[^"]*" SIZE="2"><B>\[<\/B>/) {
                substr($html, 0, $+[0], '');
                if ($html =~ m/<A HREF="([^"]*)"/) {
                        $link = $1;
                        $xml .= "<link>http:$link</link>\n";
                }
        }
        $xml .= "</item>\n";
}
$xml .= "</channel>\n" .
        "</rss>\n";
print $xml;


Espero comentarios, opiniones, mejoras, lo que queráis, serán bienvenidos. Un saludo.
Este hilo ha sido archivado. No pueden publicarse nuevos comentarios.
Mostrar opciones Umbral:
Y recuerda: Los comentarios que siguen pertenecen a las personas que los han enviado. No somos responsables de los mismos.
  • ahi ahi.

    (Puntos:2, Interesante)
    por Tei (4535) el Miércoles, 25 Mayo de 2005, 15:29h (#510916)
    ( http://barrapunto.com/ | Última bitácora: Martes, 26 Enero de 2010, 18:11h )
    yo estoy pensando en hacer una marranada horrible con barrapunto. Escribir un script greasemonkey para que interprete las firmas de los mensajes de forma grafica (esos horribles banners de firma), y otra idea es utilizar esa misma firma para echar partidas de ajedrez (poniendo ahi los movimientos).

    lo que pasa que no tengo tiempo para esas cosas, geezzz....
    • Re:ahi ahi. de DanielSan (Puntos:2) Domingo, 29 Mayo de 2005, 11:05h