Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    1,627

    Prelevare dati da pagina web

    Ciao a tutti!
    volevo chiedervi un'informazione sù come prelevare dei prezzi da una pagine web.
    Praticamente ho un'indirizzo web:

    http://www.sito.it/index.aspx?type=C...=1000&h=I&i=43

    nel quale vengono visualizzati una ventina prodotti e altre cose:
    Ora i prodotti dai quali mi intaressano prelevari i prezzi sono caratterizzati da un codice iniziale:

    prodt[0]=new Prod (....vari campi... '€ 1.500' );
    prodt[1]=new Prod (....vari campi... '€ 2.500' );

    e così via.....fino a 20

    ora all'interno dei campi volevo riuscire a prelavare il prezzo '€ 1.500' di ogni singolo prodotto per poi farne una media. Ogni prezzo è preceduto dal carattere €.

    La mia idea era quellla di impostare un ciclo per la lettura del file , poi intercettare il carattere € e leggere i 5 caratteri successivi per poi sommarli

    Ora volevo capire se è possibile realizzare una cosa del genere.

    graciess

  2. #2
    Utente di HTML.it L'avatar di Enjix
    Registrato dal
    Apr 2012
    Messaggi
    57
    Ma il sito è in ASP o in PHP?

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    1,627
    la pagina dalla quale vado a prelevare i dati è in ASP ma il mio linguaggio di programazione è PHP

    tramite questa funzione riesco a recuperare la pagina

    $pagina = file_get_contents("http://www.sito.it");
    echo $pagina;

  4. #4
    Codice PHP:
    <?
    $file 
    "tuapagina.html";
    $stringa file_get_contents ($file);
    echo 
    $stringa;_
    _
    $stringa 
    file_get_contents ($file2); // inizia dal secondo carattere
    echo $stringa;_
    ?>
    Il 2 che ho scritto _vuol dire che inizia a copiare a partire dal secondo carattere della pagina html.

    Stoscrivendo da iphone, se aspetti domani magari invento qualcosa di meglio

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    11
    questa notte ho pensato a come poter fare:
    sapendo che all'interno della pagina i miei prodotti (prodt[0]....prodt[19]) sono 20, potrei impostare un ciclo for con i=19, col quale vado a pescare di volta in volta dentro alla pagina la variabile che identifica il prodotto (quindi prodt[0], poi prodt[1]..ecc...ecc fino a prodt[19]) e da li mi sposto a destra fino a trovare il carattere € e copio in una variabile i 5 caratteri successivi che sono quelli che mi intaressano (prezzo)......che dite fattibile???

  6. #6
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    11
    ho dato uno sguardo al link che mi hai suggerito, però li mi sembra di capire che spieghi come prelevare i dati da un xml , e poi pensavo si potesse lavorare con funzioni per stringhe.

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    11
    ravanando un pò sono riuscito a risolvere parte del mio problema:
    ora praticamente sono riuscito prelevare solo la porzione di codice che mi intaressa.

    Ora praticamente dovrei riuscire a leggere o 5 caratteri che stanno a fianco di '€' e sommarli . Di € ce ne sono 20 in tutto il codice

  9. #9
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    se il sito non e' tuo devi controlllare come e se puoi usare i dati visualizzati per gli scopi che ti prefiggi.

    Visto cio vedo che stai impostando un sistema di datamining senza aver idea del punto di partenze. Non capisco inoltre se il sito in questione e' tuo o di terze parti.

    Nel caso sia tua e vuoi estrarre i dati una soluzione e' appunto usare dom per eseguire parsing della pagina e trasformare l'html in DOM( Document Object Model). Una volta trasformato con il corretto metodo ( $doc->loadHtml($html) ) puoi usare xpath per navigare il documento e raggiungere i dati che ti servono altrimenti o usi regular expression oppure explode, substr etc..(questa soluzione che sconsiglio cmq visto quello che devi fare).

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    11
    alla fine ho risolto.....sono riuscito ad estrapolore la parte del codice e poi con un bel ciclo e qualche funzione per stringhe ho risolto.

    ho solo un quesito:
    ho una stringa nella quale ho inseriti vari prodotti è una lista lunghissima: e sono tutti formattati così:
    ;18481, 000; 17654, 234 ; eccc....ecc.....

    Ora avrei la necessità di prelevare i numeri che stanno a sinistra dello 000 (ho messo un valore a caso). Il problmema è che i dati a sinistra possono anche aumentare o diminuire.

    praticamente mi intaressa prelevare quel valore che stà dopo la virgola e finisce prima del punto e virgola partendo dal valore 000

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.