• User Attivo

    Parsing pagina web con php

    Ciao
    sul sito vvtv.it
    ho fatto un player FLV in flash che importa video da YouTube
    per ottenere l'url degli FLV faccio un parsing della pag di youtube con il seguente codice
    [php]
    $handle = @file_get_contents("

    ", "r");
    $trim1 = stristr($handle, 'player2.swf?'); //elimina tutto ciò che precede il testo specificato
    $trim2 = substr($trim1, 12);//elimina i primi 12 caratteri della stringa cioè "player2.swf?"
    $fine_stringa = strpos($trim2, ','); //restituisce la posizione della virgoletta
    $stringa = substr($trim2, 0, ($fine_stringa-1)); //la stringa dall'inizio alla virgoletta
    [/php]il caricamento della pagina risulta però molto lento

    Potete consigliarmi qualche trucco per velocizzarlo?
    Grazie


  • User Attivo
    1. implementa una cache così che solo il primo caricamento sia lento
    2. prova ad usare una connessione diretta via socket o CURL alla pagina invece della funzione file_get_contents()

  • User Attivo

    Potresti spiegarmi meglio?
    non so cosa sia una connessione diretta via socket o CURL ne come si faccia.

    Grazie


  • User Attivo

    Ciao per avere alcune informazioni sui filmati di youtube devo fare un parsing xml, non conoscendo le funzioni legate all'xml
    l'ho fatto "manualmente" con il seguente codice

    [php]
    $xml = @file_get_contents("http://www.youtube.com/api2_rest?method=youtube.videos.get_details&dev_id=0WqOWt-cmrI&video_id=mxMqpReA9hs");
    $trim1 = stristr($xml, '<length_seconds>'); //elimina tutto ciò che precede il testo specificato
    $trim2 = substr($trim1, 16);//elimina i primi 12 caratteri della stringa cioè "<length_seconds>"
    $fine_stringa = strpos($trim2, '<'); //restituisce la posizione della virgoletta
    $stringa = substr($trim2, 0, ($fine_stringa)); //la stringa dall'inizio alla virgoletta
    [/php]Sembrerebbe che in alcuni casi non restituisca il valore

    Ho visto che esistono delle funzioni specifiche per il parsing xml,
    pensate che utilizzando tali funzioni potrei averne vantaggi in termini di correttezza e velocità di esecuzione?

    Grazie

    Giuseppe


  • Super User

    Ciao GC,
    Ho unito i due threads da te aperti in uno unico 🙂 😉
    ciao!