Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Estrapolare pezzo di pagina web

    Ciao a tutti, vorrei avere da chi se ne intende più di me un informazione. é possibile estrapolare da un sito web una parte della pagina. Faccio un esempio: da questo sito web: http://www.lottomaticaitalia.it/lotto/home/ si riuscirebbe in qualche modo ad estrapolare solo la parte di pagina con le nuove estrazioni del lotto ?
    Grazie
    Immagini allegate Immagini allegate

  2. #2
    Certo: è sufficiente usare una qualunque funzione di lettura file, come file, file_get_contents, fread, ecc , passando come argomento l'url della pagina web. Dopodichè, però, sarà necessario riuscire ad estrapolare solo la parte che ti interessa, operazione eseguibile facilmente con un paio di explode.
    Potresti usare un codice come questo:
    Codice PHP:
    <?php
    $content 
    file_get_contents("http://www.lottomaticaitalia.it/lotto/home/index.html");
    $splitter0 "<div class=\"hpUltimaEstrazione\">";
    $splitter1 "</div>";
    list(
    $header$table) = explode($splitter0$content);
    list(
    $table$footer) = explode($splitter1$table);
    echo 
    $table;
    ?>
    Questo è il metodo per fare ciò che vuoi, però ora sta a te scegliere se farlo: ricorda che questo metodo non è molto corretto verso il possessore del sito e, in questo caso, è anche illegale, dato che tutti i contenuti che vuoi prendere dalla pagina sono protetti da copyright. Se però ritieni assolutamente necessario ottenere quei dati, ti consiglio almeno di chiedere il permesso all'amministatore del sito.

    Spero di esserti stato utile!

  3. #3
    Grazie per la risposta, non voglio assolutamente usare questi dati in maniera illegale.

    Ti ringrazio per l' aiuto

  4. #4
    Scusa ancora una cosa, io non sono assolutamente pratico di php, ho provato a testare questo codice ma non funziona, o almeno non vedo quello che vorrei, mi sapreste dare un aiuto.

    Codice PHP:
    <?php 
    $content 
    file_get_contents("http://www.lottomaticaitalia.it/lotto/home/index.html"); 
    $splitter0 "<div class=\"hpUltimaEstrazione\">"
    $splitter1 "</div>"
    list(
    $header$table) = explode($splitter0$content); 
    list(
    $table$footer) = explode($splitter1$table); 
    echo 
    $table
    ?>
    Grazie

  5. #5
    Io l'ho provato in locale e funziona. Di preciso, cosa vedi? Potrebbe essere un problema di configurazione del php.ini: deve essere abilitata la direttiva allow_url_fopen.

  6. #6
    Purtroppo non vedo nulla se non

    codice:
    "; $splitter1 = ""; list($header, $table) = explode($splitter0, $content); list($table, $footer) = explode($splitter1, $table); echo $table; ?>
    9F4120AE-2F76-A482-E337-6FBD321229A2
    1.03.01
    file:///Applications/MAMP/htdocs/estrapola.html
    ho controllato il file php.ini e la voce "allow_url_fopen = on"

    Ho anche cercato di modificare un po il codice cercando di semplificarlo e capire dove potevano essere eventuali errori o malfunzionamenti e ho fatto ciò

    Codice PHP:
    $file "http://www.lottomaticaitalia.it/lotto/home/index.html";
    $string file_get_contents ($file);
    echo 
    $string
    Così funziona alla perfezione ma il problema sta nel fatto che richiama tutta la pagina e non solo il pezzettino che voglio comunque ciò mi fa dedurre che il problema sia situato in queste righe

    Codice PHP:
    $splitter0 "<div class=\"hpUltimaEstrazione\">";  
    $splitter1 "</div>";  
    list(
    $header$table) = explode($splitter0$content);  
    list(
    $table$footer) = explode($splitter1$table);  
    echo 
    $table
    Ma purtroppo non intendendome di php non so come risolvere o quale possa essere il problema.
    Grazie

  7. #7
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    io l'ho provato e funziona perfettamente, inoltre quell'errore è molto strano, in realtà non è nemmeno un errore, sembra quasi che non stia eseguendo lo script .... ma il nome del file come è? perchè alla fine dell'errore vedo

    file:///Applications/MAMP/htdocs/estrapola.html

    non è che la tua pagina si chiama "estrapola.html"? perchè se è così non ti funzionerà mai .... anche se in quel caso non capisco come faccia a funzionarti togliendo le righe che dici

  8. #8
    Scusa, il nome della pagina è estrapola.php e l' ho provato sia in locale che sul mio server ma purtroppo non mi funziona.

  9. #9
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    ma hai anche un file che si chiama estrapola.html da qualche parte ? e se si a cosa serve?

  10. #10
    Ho capito tutto!
    Correggi così:
    Codice PHP:
    <?php  
    $content 
    file_get_contents("http://www.lottomaticaitalia.it/lotto/home/index.html");  
    $splitter0 "<"."div class=\"hpUltimaEstrazione\"".">";  
    $splitter1 "<"."/"."div>";  
    list(
    $header$table) = explode($splitter0$content);  
    list(
    $table$footer) = explode($splitter1$table);  
    echo 
    $table;  
    ?>
    Il problema è che, non so come mai, con certi server php, quando viene interpretato il codice, l'interprete PHP non funziona correttamente, continuando a parsare l'HTML anche mentre è nel tag <?php. Dunque, non appena ha trovato "<div>", nonostante si trovasse in una stringa, ha chiuso il tag PHP, e ha stampato tutto ciò che seguiva come normale html.

    Quindi ho provato a splittare un po' le stringhe che possono condurre in errore l'interprete. Spero che ora funzioni.

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.