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

    parsing di una pagina web in java

    ciao a tutti,

    come si può evincere dal titolo ho un problema con java.
    Qualcuno sà se siste un parser web, fatto in java, che partendo dall'url della pagina web (cioè passandogli ad esempio come parametro "www.libero.it") mi sappia estrapolare dalla home del sito ad esempio tutte le parole che inziano per "ar"?

    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    La ricerca la devi fare solo nel contenuto dei tag, oppure anche in script e attriibuti dei tag?

    Per esempio, il tuo parser deve riconoscere solo queste

    codice:
    
    Questo è un array</p>
    Oppure anche cose del genere
    codice:
    <script language="javascript">
    
    var nome_var;
    
    ...
    </script>
    <body>
      
    
    Questo è un array</p>
      <p class="arrow">Altro testo</p>
    Nel secondo caso il discorso è pià semplice perché non ti serve un parser del contenuto dei tag, ma ti basta un'espressioen regolare opportuna sull'intero codice HTML.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Il parser deve cercare le occorrenze di parole o numeri da me specificati. Praticamente ho già la parte di codice che scarica la pagina web passatagli e la salva in un file di testo. Adesso il difficile è estrarre tra tutta la moltitudine di tag, parole, numeri e simboli, ciò che io voglio. Il problema è che non è sempre la stessa cosa. Esempio: la pagina html da parsare contiene una partita di calcio e le relative quote tipo "milan - inter 2.50 3.20 2.50"; ecco io dovrei estrapolare la partita e le quote e salvarle in un certo file x;

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Immagino che tali informazioni siano contenute i un TAG (DIV o TABLE) con un id specifico. Se il tuo parser può ritornare il codice HTML di una parte di pagina (ossia il contenuto di un tag con un id specifico ad esempio), meglio. Su quello scriverai una regex, il cui pattern potrebbe essere, nel tuo caso, qualcosa del genere:

    \w*\s-\s\w*\s((\d+\.?\d*)\s?){3}

    (da "escapare" per java...
    codice:
    \\w*\\s-\\s\\w*\\s((\\d+\\.?\\d*)\\s?){3}
    sperando che il forum non elimini i backslashes...
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  5. #5
    prova a dare un occhio alla pagina: http://www.java-source.net/open-source/html-parsers
    Ciao
    Ivan Venuti
    Vuoi scaricare alcuni articoli sulla programmazione, pubblicati su riviste di informatica? Visita http://ivenuti.altervista.org/articoli.htm. Se vuoi imparare JavaScript leggi il mio libro: http://www.fag.it/scheda.aspx?ID=21754 !

  6. #6
    Ah certo una regex, non c'avevo pensato. Grazie Andrea1979. Il seguente pattern però
    \w*\s-\s\w*\s((\d+\.?\d*)\s?){3} esattamente quali occorrenze troverebbe?

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    codice:
    Classi di caratteri predefinite
    . 	Qualsiasi carattere
    \d 	Una cifra: [0-9]
    \D 	Una non-cifra: [^0-9]
    \s 	Un carattere di spaziatura
    \S 	Un carattre di non spaziatura
    \w 	Un carattere alfanumerico e sottolineatura
    \W 	Un carattere né alfanumerico né di sottolineatura
    Quindi
    codice:
    \w*                 Un qualsiasi numero di caratteri alfanumerici e di sottolineatura
    \s                  Uno spazio
    -                   La linea
    \s                  Uno spazio
    \w*                 Un qualsiasi numero di caratteri alfanumerici e di sottolineatura
    \s                  Uno spazio
    ((\d+\.?\d*)\s?){3} Per tr: volte: cifra, uno o zero punti, un qualsiasi numero di cifre, 
                        uno o zero spazi.

  8. #8
    Grazie della delucidazione simo7784, adesso è chiaro. Avrei un ultimo problemino da risolvere: come faccio a far girare il sopra citato programmino ogni tot minuti cioè in modo che il programma ogni tot minuti mi và a controllare una certa pagina web? In realtà tale programmino è un applet che andrà incluso in una pagina html o php del mio sito; ma come faccio a far si che tale pagina html o php con dentro l'applet possa girare per esempio ogni x minuti?

    Grazie anticipatamente a chi vorrà rispondermi.

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.