Ver Mensaje Individual
  #2 (permalink)  
Antiguo 14/05/2010, 03:24
dracola24
 
Fecha de Ingreso: marzo-2010
Mensajes: 73
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Automatizar consultas sobre feeds rss

He realizado este codigo, y realmente funciona, pero me interesaría hacerlo de manera automática y que los resultados se fueran guardando en ficheros o algo parecido.

Alguna idea, por favor??

Código:
import com.playence.solr.indexer.Texto;
import com.sun.syndication.feed.synd.SyndEntry;
import com.sun.syndication.feed.synd.SyndFeed;
import com.sun.syndication.io.SyndFeedInput;
import com.sun.syndication.io.XmlReader;

import java.net.URL;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

import org.apache.solr.common.SolrInputDocument;


public class Consumer {

    SyndFeed    feed;
   
    Texto tex= new Texto();
    public Consumer() {
        super();
        try {
            URL feedUrl = new URL("http://newsrss.bbc.co.uk/rss/sportonline_uk_edition/front_page/rss.xml");

            SyndFeedInput input = new SyndFeedInput();
            feed = input.build(new XmlReader(feedUrl));

        } catch (Exception ex) {
            ex.printStackTrace();
            System.out.println("ERROR: "+ex.getMessage());
        }
        
       
    }

    public Collection<SolrInputDocument>  print () {
        //feeds list
        List<SyndEntry> entradas = new ArrayList<SyndEntry>();
        entradas = feed.getEntries();
        
        
        
        //Crear un array de documentos
	    Collection<SolrInputDocument> docs = new ArrayList<SolrInputDocument>();
	    
	    for (SyndEntry entrada : entradas) {
	    	//Creamos un documento a partir d elas entradas
			SolrInputDocument doc = new SolrInputDocument();
			
			System.out.println("Título.: " + entrada.getTitle() );
			doc.addField( "id", entrada.getTitle() );
            
            System.out.println("Descripción.: " + entrada.getDescription() );
            doc.addField("description", entrada.getDescription());
            
            System.out.println("Nombre.: " + entrada.getDescription() );
            doc.addField("name", entrada.getContents());
            
            System.out.println("Link.......: " + entrada.getLink() );
            doc.addField( "links", entrada.getLink() );
            
            //Añadimos el documento al array
		    docs.add(doc);
		}
		return docs;
        
    }


}