Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di luisa227
    Registrato dal
    Mar 2002
    Messaggi
    2,305

    split codice di una pagina web

    Ciao gente!

    Devo ottenere alcuni dati da questo sito (
    http://www.albonazionalegestoriambientali.it/ElenchiIscritti.aspx#tipoRicerca=0&paginaCorrente= 1&risultatiPerPagina=100&sezione=20&provincia=SS&i ncludiCP=false) e precisamente dovrei estrarre il nome azienda, le categorie (solo alcune) e le scadenze (che si trovano cliccando sul pulsante dettagli).

    Chi mi aiuta con lo split? E qualcuno ha idea di come andare a ricavare la scadenza dato che è su un altra pagina?

    Grazie in anticipo a chi vorrà darmi qualche spunto pratico.
    Le mie richieste qui sul forum sono al 99,9% considerate assurde e senza senso, ma per me un senso lo hanno e gradirei una risposta più seria possibile. Grazie

  2. #2
    c'è uno che sta provando a scaricarsi una pagina con curl http://forum.html.it/forum/showthrea...readid=2945574 prova a prendere spunto

    per lo "split", hai poco da "splittare", devi parsarti la pagina, quindi devi studiarti la struttura dell'html che genera e usare un "parser" (che so, una serie di regular expression) per prenderti i dati che ti servono... se poi alcune informazioni stanno in altre pagine, devi fare chiamate successive alle altre pagine e parsartele.
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  3. #3
    Utente di HTML.it L'avatar di luisa227
    Registrato dal
    Mar 2002
    Messaggi
    2,305
    Quote Originariamente inviata da Santino83_02 Visualizza il messaggio
    c'è uno che sta provando a scaricarsi una pagina con curl http://forum.html.it/forum/showthrea...readid=2945574 prova a prendere spunto

    per lo "split", hai poco da "splittare", devi parsarti la pagina, quindi devi studiarti la struttura dell'html che genera e usare un "parser" (che so, una serie di regular expression) per prenderti i dati che ti servono... se poi alcune informazioni stanno in altre pagine, devi fare chiamate successive alle altre pagine e parsartele.
    Grazie, non so perchè la chiamo split però sì, è quello che dici tu...

    Intanto ho fatto un passo avanti... ho inserito il richiamo alle header personalizzate perchè vi era un blocco riguardante il browser... poi ho usato il codice sottostante.

    $file = file_get_contents('http://www.albonazionalegestoriambie...ncludiCP=false', false, $context);


    però ora il problema è che non mi legge l'elenco perchè incontra degli script jquery che generano poi l'elenco, quindi sono bloccata. Qualcuno ha idea di come bypassare? grazie
    Ultima modifica di luisa227; 17-10-2016 a 16:11 Motivo: non si vedeva il codice perchè era di colore bianco
    Le mie richieste qui sul forum sono al 99,9% considerate assurde e senza senso, ma per me un senso lo hanno e gradirei una risposta più seria possibile. Grazie

  4. #4
    Allora, ho fatto una rapida ricerca, ed effettivamente è una cosa un pò complicata e praticamente impossibile utilizzando solo php. Qui un esempio di soluzioni:

    http://stackoverflow.com/questions/2...s-run-with-php

    se vedi la prima risposta (quella in evidenza), propone due metodi, il primo usa PhantomJS per catturare la pagina comprensiva dei dati creati dallo javascript, la seconda invece suggerisce di prendere il contenuto della pagina e di "evalutarlo" con ajax per ottenere il codice completo anche di quanto generato da html... cmq il secondo metodo mi pare una schifezza e soprattutto potrebbe tranquillamente non funzionare (le chiamate verrebbero da domini diversi e verrebbero bloccate). Diciamo che l'unica strada è il primo metodo proposto dal tizio.
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  5. #5
    Ciao, io ho creato uno script che va ad eseguire una ricerca sulle pagine youtube in base al paramento che passi tu (ad esempio un artista, un brano). Questo script parsa la pagina di youtube che per eseguire una ricerca utilizza questa query string:

    dove paul+kalkbrenner potrebbe essere una qualunque altra chiave di ricerca.

    Caricata la pagina di youtube tramite file_get_contents() io la vado a scrivere su un file temporaneo che dopo andrò a leggere per stampare a video i link dei video.

    Ti scrivo questo perchè penso sia attinente al tuo problema.

    Ovviamente in una pagina di youtube, come in una qualunque pagina html non ci sono solo i tag <a href='xyz'> (perchè interessano a me) ma ci sono molti altri tag fra i quali tag <script> <meta> <DOCTYPE > ecc..


    Io ad esempio ho utilizzato questo script:

    Codice PHP:

    $fileSize 
    filesize($filePath);


                
    $youtubeLink fread($openFileLink$fileSize);
                    
                    
                    
    $worldAcceptedChar self::$worldAcceptedChar;
                    
                    
    $youtubeLinkF str_word_count($youtubeLink1$worldAcceptedChar);
                    
                    
                
    $closeFileLink fclose($openFileLink);            


                
    $arrayLink = array();
            
                    foreach(
    $youtubeLinkF as $keyParsing => $valueParsing){
                        
                        if (
    $valueParsing === "watch"){
                            
                            
    $keyLink $youtubeLinkF[$keyParsing 1];
                            
                            
    array_push($arrayLink$keyLink);
                        }
                        
                    }        
            
                
    $parsingResult array_unique($arrayLink);
                
                
                if ( 
    count($parsingResult) != ){


                    foreach( 
    $parsingResult as $youtubeDownloadLink ){
                    
                        
    $charStr strlen($youtubeDownloadLink);
                    
                        echo 
    "<a href='http://www.youtube.com/watch?$youtubeDownloadLink'></a>";
                        
                    }
                    
                }else{
                    
                    
    $localError false;
                }
                
                
                
    unlink($filePath); 
    Non so se ti può essere di aiuto.
    Mi farebbe piacere scambiare due parole anche nel caso tu avessi idee per modificare il mio script o migliorarlo.


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 © 2026 vBulletin Solutions, Inc. All rights reserved.