Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 23
  1. #1

    Prelevare dati da pagina esterna

    Salve ragazzi, ho bisogno di prelevare dati da una pagina esterna e processarli.

    Ho fatto così per prelevare la pagina esterna:

    Codice PHP:
    $file fopen("indirizzo web""r"); 
    Ora che la variabile $file contiene la pagina, come faccio a processarla?

    Cioè diciamo che questa pagina nel codice sorgente ha dei tag, ad esempio "table", ora come faccio a prelevare tutti i valori dei tag table?

    Spero di essere stato abbastanza chiaro.

    Grazie.

  2. #2
    Utente di HTML.it L'avatar di bode
    Registrato dal
    Feb 2007
    Messaggi
    304
    Fai una ricerca se n'è parlato moltissime volte anche di recente. Questa operazione si chiama parsing.

  3. #3
    Grazie per la risposta, ho fatto la ricerca, ed ho trovato questo codice:

    Va bene per estrapolare il codice, però se voglio partirer a prelevare soload esempio da una parola fino ad un'altra?

    ecco il codice:

    Codice PHP:
    $doc = new DOMDocument();
    $doc->loadHTMLFile("nomefile.html");


    $elements $doc->getElementsByTagName('table');

    if (!
    is_null($elements)) {
      foreach (
    $elements as $element) {
        echo 
    "
    "
    $element->nodeName": ";

        
    $nodes $element->childNodes;
        foreach (
    $nodes as $node) {
          echo 
    $node->nodeValue"\n";
        }
      }

    In questo caso trovo tutti i nodi table, ma se vorrei trovare una parola contenuta nei tag table?

    Grazie

  4. #4
    Utente di HTML.it L'avatar di bode
    Registrato dal
    Feb 2007
    Messaggi
    304
    Ti linko una discussione molto recente a cui ho già risposto, pensavo la trovassi pure tu con la ricerca
    http://forum.html.it/forum/showthrea...hlight=parsing

  5. #5
    Si, avevo visto questa discussione, però non riesco a fare funzionare il tutto, se non ti da fastidio, potresti farmi un'esempio pratico in modo da capire il funzionamento?

    Grazie

  6. #6
    Utente di HTML.it L'avatar di bode
    Registrato dal
    Feb 2007
    Messaggi
    304
    Posta quello che hai fatto così vediamo dove sbagli, si tratta di utilizzare quelle 3 funzioni che ci sono nel link che ti ho postato, per la sintassi di quelle funzioni basta che ti vedi il manuale di php o semplicemente digiti su google il nome della funzione e ti escono milioni di esempi. Io preferisco aiutare pittosto che darti il codice bello pronto, perchè solo cosi si impara.

  7. #7
    Grazie per il tuo aiuto, ecco il codice, mi fermo alla funzione strpos:

    Codice PHP:
    $file file_get_contents("http://link_prova");

    $posizione strpos($file"Specifiche");

    echo 
    $posizione

    In questo caso ho verificato, e stampando la variabile $posizione ottengo questo numero:

    10975

    Però la funzione substr ho visto come funziona più o meno, però non ho capito cosa fare con il valore ottenuto dalla variabile $posizione.

    Grazie

  8. #8
    Utente di HTML.it L'avatar di bode
    Registrato dal
    Feb 2007
    Messaggi
    304
    Originariamente inviato da intimoviro
    Grazie per il tuo aiuto, ecco il codice, mi fermo alla funzione strpos:

    Codice PHP:
    $file file_get_contents("http://link_prova");

    $posizione strpos($file"Specifiche");

    echo 
    $posizione

    In questo caso ho verificato, e stampando la variabile $posizione ottengo questo numero:

    10975

    Però la funzione substr ho visto come funziona più o meno, però non ho capito cosa fare con il valore ottenuto dalla variabile $posizione.

    Grazie
    Supponi dover estrapolare il testo contenuto tra i tag <table></table>
    Codice PHP:
    $file file_get_contents("http://link_prova");

    $posizione_1 strpos($file"<table>"); // prende la prima occorrenza del tag <table>
    $posizione_2 strpos($file"</table>",$posizione_1); //prende la prima occorrenza del tag </table> a partire dalla posizione1 precedentemente calcolata
    $testo_ricavato substr($file,$posizione_1+7,$posizione_2-$posizione_1-7); //ricava il testo compreso fra i tag <table></table> (quel +7 e - 7 è dovuto al fatto che non voglio che in $testo_ricavato ci sia anche il tag <table>
    echo $testo_ricavato

  9. #9
    Grazie,
    Ho fatto così per prendere il contenuto da un tag td

    in html c'è questo:

    <td colspan="3" class="po_header" width="100%">disc</td>

    Ho fatto così:

    Codice PHP:
    $file file_get_contents("http://link_prova");

    $posizione_1 strpos($file"<td colspan=\"3\" class=\"po_header\" width=\"100%\">"); 
    $posizione_2 strpos($file"</td>",$posizione_1);

    $testo_ricavato substr($file,$posizione_1 47,$posizione_2-$posizione_1-47); 

    echo 
    $testo_ricavato
    Stampa correttamente disc, però se ho più td di questo genere, come faccio a prelevarli tutti e stamparli?

    Grazie fin'ora sei stato di grande aiuto.

  10. #10
    Utente di HTML.it L'avatar di bode
    Registrato dal
    Feb 2007
    Messaggi
    304
    Originariamente inviato da intimoviro
    Grazie,
    Ho fatto così per prendere il contenuto da un tag td

    in html c'è questo:

    <td colspan="3" class="po_header" width="100%">disc</td>

    Ho fatto così:

    Codice PHP:
    $file file_get_contents("http://link_prova");

    $posizione_1 strpos($file"<td colspan=\"3\" class=\"po_header\" width=\"100%\">"); 
    $posizione_2 strpos($file"</td>",$posizione_1);

    $testo_ricavato substr($file,$posizione_1 47,$posizione_2-$posizione_1-47); 

    echo 
    $testo_ricavato
    Stampa correttamente disc, però se ho più td di questo genere, come faccio a prelevarli tutti e stamparli?

    Grazie fin'ora sei stato di grande aiuto.
    Bè se ne hai piu' di uno ti calcolerai la posizione_3 a partire dalla posizione_2 e la posizione_4 a partire dalla posizione_3 e cosi via...

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.