Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Sistemas de gestión de contenidos (http://www.forosdelweb.com/f54/)
-   -   Scroll de noticias XML (http://www.forosdelweb.com/f54/scroll-noticias-xml-449399/)

falonpla 12/12/2006 05:27

Scroll de noticias XML
 
Estoy buscando algun script para insertar en mi web, necesito que capture las noticias de otros sitios y las muestre en un scroll, ya que si no me ocuparia mucho espacio en la página. Supongo que esto existirá, a ver si alguien sabe de alguno. Gracias por adelantado. Salu2

ebe 12/12/2006 15:40

Re: Scroll de noticias XML
 
busca en dynamicdrive.com,, ahi hay varios script prefabricados para tal fin.

Primeramente haste la pregunta,, en que format se encuentran las noticias que deseo extraer del otro sitio web?? en puro XML, RSS, o algun protocolo para web services, que tecnologia de servidor estas utilizando?? que tipo de noticias son las que deseo copiar del otro sitio??, hay muchos sitios que te ofrecen un mecanismo para que dupliques sus noticias en tu sitio.. Comunmente los Web Services son utilizados para lograr este fin (extraer informacion de sus sitios web en un formato standard para que de ahi tu hagas a tu placer con esa informacion)..

Cuentanos de donde piensas extraer la informacion y en que formato exactamente se encuentra esta, De ahi podremos ver si ya existe algo prefabricado o si te lo tienes que maquinar tu mismo.

un saludo

falonpla 12/12/2006 16:44

Re: Scroll de noticias XML
 
Las noticias quiero extraerlas en principio de estos dos sitios:

h t t p://w w w.hoy.es/rss/feeds/navalmoral.xml

h t tp://w w w.elperiodicoextremadura.com/RSS/104.xml

Respecto a lo de la tecnologia de servidor, la web aun no esta alojada en ningun sitio, ya que la estoy diseñando aun, por cierto lo estoy haciendo completamente en dreamweaver, ya que soy novato, y de programar a mano no tengo ni idea, solo un poco de html. Estoy leyendo tutoriales y demas para aprender, pero la estoy construyendo a base de templates y scripts, por que me da la sensación de que si tengo que esperar a aprender yo a hacerlo todo tardaria mas de un año en acabarla.

En principio la idea que tengo es que solo salgan los titulares en el scroll, para que ocupe menos espacio. Lo que estoy buscando exactamente es un script parecido a "Flash Text Scroller Wizard v2.0" de scriptocean.com (los que he visto en dynamicdrive tienen muy buena pinta, pero parecen mucho mas complejos para un novato como yo, el de scripocean me genera un cajetin, que puedo poner donde yo quiera facilmente con dreamweaver), muy sencillo y personalizable para los que no sabemos programar, el problema es que con este tengo que introducir los titulares a mano, y precisamente lo que busco es que se actualice solo mediante los archivos XML de arriba (por cierto, cual es la diferencia entre XML y RSS?)

Un saludo y gracias por vuestras respuestas.

ebe 13/12/2006 09:38

Re: Scroll de noticias XML
 
Las noticias de esos enlaces son archivos RSS (algunos guardados con extension xml. pero su formato es de aplicacion rss).

En este caso tendras que priorizar el saber que tecnologia de servidor tienes a tu disposicion para el manejo de este archivo RSS (XML), ya que hasta donde tengo conocimiento el poder abrir archivos XML esternos desde javascript esta un poco tierno aun en internet explorer, a diferencia del manejo de XML desde javascript por mozilla, (carga de archivos sincronica y "asincronica") que es la clave para cargar archivos externos a tu el navegador del cliente con javascript.

Al momento que sepas que tecnologia de servidor tienes a tu disposicion vuelve aca y seguro yo o alguien del foro te prestara la ayuda que necesitas para cargar ese archivo en tu scroll de noticias. Yo he hecho lo mismo que tu necesitas utilizando PHP asi que si ese es tu caso y es PHP lo que tienes a tu disposicion con mucho gusto te presentare una solucion.

NOTA: ya que estas adentrandote cada vez mas en el desarrollo de websites, y saltando a XML y tec. de servidor es hora que te descargues un manual de XML y Javascript al menos para que tengas mas conocimientos y herramientas a tu disposicion a la hora de afrontar un problema y reconsiderar la idea de "solo" utlizar herramientas automatizadas.

XML en si es un lenguage de marcado o estructuracion de datos con el cual puedes hacer tus datos o informacion importante portable y transformable (XSLT) en diferentes sistemas y/o formatos, a diferencia de RSS que es una aplicacion derivada de XML, el cual ya tiene un formato standard establecido para la distribucion de informacion entre lectores RSS.

algunos enlaces para que te adentres mas:

http://www.w3schools.com/
http://www.w3.org/
http://www.webestilo.com/
http://www.feedreader.com/



un saludo.

falonpla 13/12/2006 12:10

Re: Scroll de noticias XML
 
Gracias por la información. La tecnologia de servidor que voy a usar es PHP, lo tengo decidido, ya que la mayoria de los script que voy a usar estan basados en este lenguaje. Voy a ir ojeando esos enlaces a ver si voy aprendiendo algo, que estoy un poco verde. Salu2.

ebe 13/12/2006 15:27

Re: Scroll de noticias XML
 
Bueno, ya que tienes decidido la tecnologia de server, he aqui el codigo que he utilizado para extraer titulo y link de un archivo rss, luego solo quedara el incluir estos datos en el scroll de tu eleccion.

Código PHP:

// Simple enough, the location of the XML file and max headlines to show
$xml_file = "http://www.eldominio.com.gt/rss/rss_actualidad.xml";
$max_news = 5;

// These are both keys that we will use later.
$xml_headline_key = "*RDF:RDF*ITEM*TITLE";
$xml_mylink_key = "*RDF:RDF*ITEM*LINK";

// An array for storing our information. An array is nice to use here
// because it allows us to parse the XML and then temporarily forget about it
// allowing use greater freedom to edit and maniplulate the output.
$story_array = array();

// A counter that will come into use later.
$counter = 0;

// A simple class that will make our life easier. We could use an 
// associative array as well, but I prefer to just write up the class. =)
class xml_story{
    var $headline, $mylink;
}

// Once again, this is what we want our parser to do when it reaches a start tag
function startTag($parser, $data){
    global $current_tag;
    $current_tag .= "*$data";
}

// Same thing here as well. This tells the parser what to do when it trips over an end tag.
function endTag($parser, $data){
    global $current_tag;
    $tag_key = strrpos($current_tag, '*');
    $current_tag = substr($current_tag, 0, $tag_key);
}

// When the parser hits the contents of the tags it will perform this function.
// This will all be explained word for word in the tutorial
function contents($parser, $data){
    global $current_tag, $xml_headline_key, $xml_mylink_key, $counter, $story_array;
    switch($current_tag){
        case $xml_headline_key:
            $story_array[$counter] = new xml_story();
            $story_array[$counter]->headline = $data;
            break;
        case $xml_mylink_key:
            $story_array[$counter]->mylink = $data;
            $counter++;
            break;
    }
}

// Creates the parser
$xml_parser = xml_parser_create();

// Sets the element handlers for the start and end tags
xml_set_element_handler($xml_parser, "startTag", "endTag");

// Sets the data handler, same as before...
xml_set_character_data_handler($xml_parser, "contents");

// Opens the file or gives an error message
$fp = fopen($xml_file, "r") or die("Could not open file");

// Reads the file or gives an error message
$data = '';
while (!feof($fp)) {
    $data .= fread($fp, 8192) or die("Could not read file");
}

// This if statement is exactly the same as before. It parses the xml document
// according to the functions we have defined; and it returns an error message
// if the parsing fails
if(!(xml_parse($xml_parser, $data, feof($fp)))){
    die("Error on line " . xml_get_current_line_number($xml_parser));
}

// Frees up the memory 
xml_parser_free($xml_parser);

// Closes the file
fclose($fp);

//
// THIS IS THE PRINTING CODE
//

// Set max iterations: either total news (if less than $max_news) or previously defined $max_news.
$stop_at = (count($story_array) < $max_news) ? count($story_array) : $max_news;
// A simple for loop that outputs our final data.
    for ($x = 0; $x < $stop_at; $x++) { ?>

        &nbsp;&bull;&nbsp;<a href="<?=$story_array[$x]->mylink;?>" class="newsTitle" style="text-transform:none;" target="_blank"><?=mb_convert_encoding($story_array[$x]->headline'iso-8859-1''UTF-8');?></a><br /><br style="line-height:6px;" />

<?php

    
}

?>



La zona horaria es GMT -6. Ahora son las 18:40.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.