Visualizzazione dei risultati da 1 a 10 su 10

Discussione: PHP e RSS

  1. #1

    PHP e RSS

    Ciao a tutti,

    avrei bisogno del vostro aiuto per creare un piccolo script che mi permetta di salvare i post di wordpress.

    Tralasciando il discorso di mysql, vorrei avere dei txt, nominati in base al titolo del post, con la possibilità di salvarli successivamente.

    Avevo pensato di scrivere un funzione che mi leggesse dal RSS ogni X ore, e in base al titolo del post mi salvasse l'html della pagina.

    Ho provato a inserire questo codice, ma per qualche motivo, mi restituisce solo file vuoti: li rinomina nel modo giusto ma sono vuoti.

    Codice PHP:
    function startElementHandler$parser$element_name$element_attribs ){
        global 
    $item_counter;
        global 
    $item_data;
        global 
    $xml_current_tag_state;
        
    $xml_current_tag_state $element_name;
    }
    function 
    endElementHandler$parser$element_name ){
        global 
    $item_counter;
        global 
    $item_data;
        global 
    $xml_current_tag_state;
        
    $xml_current_tag_state '';
        if( 
    $element_name == "ITEM" ) {
            
    $item_counter++;
        }
    }
    function 
    characterDataHandler$parser $data ){
        global 
    $item_counter;
        global 
    $item_data;
        global 
    $xml_current_tag_state;
        if( 
    $xml_current_tag_state == '' ) {
            return;
        }
        if( 
    $xml_current_tag_state == "TITLE" ) {
            
    $item_data[$item_counter]["title"] = $data;
        }
        if( 
    $xml_current_tag_state == "LINK" ) {
            
    $item_data[$item_counter]["link"] = $data;
        }
        if( 
    $xml_current_tag_state == "DESCRIPTION" ) {
            
    $item_data[$item_counter]["description"]["description"] = $data;
        }
    }
    if( !(
    $xml_parser xml_parser_create()) ){
        die(
    "Impossibile creare l' XML parser!");

    Codice PHP:
    $filename="http://www.androidaily.com/feed/";
    if( ! (
    $fp fopen"$filename"r" )) ){echo "Impossibile aprire il file xml!";}
    $item_counter 0;
    $item_data = array();
    $xml_current_tag_state '';
    xml_set_element_handler($xml_parser"startElementHandler""endElementHandler");
    xml_set_character_data_handler($xml_parser"characterDataHandler");

    $data stream_get_contents($fp);
    if( !
    xml_parse($xml_parser$datafeof($fp)) ){
        break; 
    // esce dal loop quando finisce
    }

    xml_parser_free($xml_parser);

    for( 
    $i=$i $item_counter ; ++$i ){
        
        
        
    $html file_get_contents($item_data[$i]["link"]);

    $filename 'files/' $item_data[$i]["title"] . '.txt';
    $handle fopen($filename,"w")or die("can't open file");
    fclose ($handle);

    $fs fopen($filename,"w")or die("can't open file");

    $stringData $html;
    fwrite($fh$stringData);
    fclose($fh); 
    Avevo pensato di leggere prima dal RSS e seguire il link e salvare tutto in un file, vi sembra una cosa fattibile? Anche perchè successivamente vorrei estrapolare titolo, descrizione, eventuali links da ogni articolo.

    Grazie

  2. #2
    Utente di HTML.it L'avatar di Secta
    Registrato dal
    May 2002
    Messaggi
    365
    Sei sicuro che file_get_contents(articolo) restituisca qualcosa?

    E poi

    Codice PHP:
    fwrite($fh$stringData); 
    fclose($fh); 
    $fh dove sta? non la trovo... forse volevi mettere $fs?

    Perchè non usi file_put_contents che è un pò più lento ma più semplice da usare?
    "Dai diamanti non nasce niente, dal letame nascon fiori."
    Fabrizio De Andrè

  3. #3
    Originariamente inviato da Secta
    Sei sicuro che file_get_contents(articolo) restituisca qualcosa?

    E poi

    Codice PHP:
    fwrite($fh$stringData); 
    fclose($fh); 
    $fh dove sta? non la trovo... forse volevi mettere $fs?

    Perchè non usi file_put_contents che è un pò più lento ma più semplice da usare?
    Effettivamente era $fs.. che sbadato Ora mi ritrovo i files scritti..

    Adesso, che comando dovrei usare per estrapolare il titolo e solo una sezione della pagine html come per esempio
    Codice PHP:
    <div class="meta">Sezione Novità</div
    ?

  4. #4
    Utente di HTML.it L'avatar di Secta
    Registrato dal
    May 2002
    Messaggi
    365
    Puoi usare le espressioni regolari oppure http://www.php.net/manual/en/domdocu...tmlfile.php... a te la scelta
    "Dai diamanti non nasce niente, dal letame nascon fiori."
    Fabrizio De Andrè

  5. #5
    Originariamente inviato da Secta
    Puoi usare le espressioni regolari oppure http://www.php.net/manual/en/domdocu...tmlfile.php... a te la scelta
    Il link non va.. potresti controllare?

    Grazie

  6. #6
    Utente di HTML.it L'avatar di Secta
    Registrato dal
    May 2002
    Messaggi
    365
    Originariamente inviato da Secta
    Puoi usare le espressioni regolari oppure http://www.php.net/manual/en/domdocu...tmlfile.php... a te la scelta
    Edit: ovviamente poi dovrai usare gli altri metodi della classe per recuperare quel che ti serve.
    "Dai diamanti non nasce niente, dal letame nascon fiori."
    Fabrizio De Andrè

  7. #7
    Utente di HTML.it L'avatar di Secta
    Registrato dal
    May 2002
    Messaggi
    365
    Sei un fulmine... nemmeno il tempo di editare che avevi già risposto Si, sbaglio sempre a linkare perchè termino sempre le frasi con un punto


    http://www.php.net/manual/en/domdocu...adhtmlfile.php
    "Dai diamanti non nasce niente, dal letame nascon fiori."
    Fabrizio De Andrè

  8. #8
    Originariamente inviato da Secta
    Sei un fulmine... nemmeno il tempo di editare che avevi già risposto Si, sbaglio sempre a linkare perchè termino sempre le frasi con un punto


    http://www.php.net/manual/en/domdocu...adhtmlfile.php
    Ehehe, merito nelle notifiche delle email

    Comunque l'idea di leggere da rss, salvare il contenuto del singolo post in un file, leggerlo per estrapolare quello che mi serve può andare?

  9. #9
    Utente di HTML.it L'avatar di Secta
    Registrato dal
    May 2002
    Messaggi
    365
    L'idea non è male se non vuoi/puoi usare il tuo database... anche se non capisco il perchè essendo tuo il sito

    Se i file di testo ti servono solo per estrapolare determinate informazioni, forse salvarli è solo un passaggio in più... lavori direttamente sul contenuto di file_get_contents() e poi salvi solo quello che realmente ti interessa... non credi sia meglio?
    "Dai diamanti non nasce niente, dal letame nascon fiori."
    Fabrizio De Andrè

  10. #10
    Originariamente inviato da Secta
    L'idea non è male se non vuoi/puoi usare il tuo database... anche se non capisco il perchè essendo tuo il sito

    Se i file di testo ti servono solo per estrapolare determinate informazioni, forse salvarli è solo un passaggio in più... lavori direttamente sul contenuto di file_get_contents() e poi salvi solo quello che realmente ti interessa... non credi sia meglio?
    Si, al momento preferisco non usare il database..

    Adesso mi leggo bene come funziona file_get_contents() e utilizzerò quello..

    Poi tornerò qua a chiedere lumi sulle espressioni regolari perchè so già che combinerò altri casini

    Grazie per il momento

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.