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

    [JAVA] Ricerca di una Stringa in una pagina web

    Salve a tutti, ho la necessità di ricerca una stringa all'interno di una pagina web

    la stringa che devo ricerca è del tipo:

    <font color="#FF0000">Server</font>

    devo verificare semplicemente se nella pagina web è presente quella stringa.
    Ho provato in questo modo:

    URL u = new URL(sito...);

    BufferedReader is = new BufferedReader(
    new InputStreamReader(
    u.openStream()));

    String presente;

    String match = <font color="#FF0000">Server</font>;

    boolean tutto = false;

    while((presente = is.readLine()) != null) {
    if(presente.contains(match)) {
    tutto = true;
    }
    }
    is.close();

    purtroppo però in questo modo non funziona.

    Grazie in anticipo

  2. #2
    Ciao simogalli87

    Per prima cosa ti invio un link che ti può torare utile, ho trovato una classe java che si occupa di matching http://java.sun.com/javase/6/docs/ap...e-summary.html

    Comunque anche se non ho fatto prove in merito ti posso dire che io userei:

    indexOf(String str)
    Returns the index within this string of the first occurrence of the specified substring.

    ritorna un numero maggiore o uguale a zero se trova la stringa altrimenti -1

    Fammi sapere come va...

    malus
    Non condivido le cose che dici ma difenderò sino alla morte il tuo diritto di dirle | http://fabiocannioto.eu/

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328

    Moderazione

    Java ha il suo sub-forum dedicato.

    Sposto.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  4. #4
    Scusate se ho sbagliato sezione

    malus grazie della risposta ma proprio non riesco a farlo funzionare, non riesce a trovare la stringa. Ovviamente sono sicuro che la pagina dove faccio la prova la contiene.

    Potresi scrivermi il codice gentilmente?

  5. #5
    Non ho ben capito se hai provato come ti ho detto io...

    io il ciclo while lo avrei provato così

    while((presente = is.readLine()) != null) {
    if(presente.indexOf(match) != -1) {
    tutto = true;
    }

    se hai già provato così prova a mettere qualche print per vedere come si sta comportando il programma:

    while((presente = is.readLine()) != null) {
    System.out.println( "controllo "+presente+" con "+match ) ;
    if(presente.indexOf(match) != -1) {
    tutto = true;
    }

    così vedi un pò su cosa fa il confronto.

    malus
    Non condivido le cose che dici ma difenderò sino alla morte il tuo diritto di dirle | http://fabiocannioto.eu/

  6. #6
    Ho provato come mi hai consigliato, cioè

    while...
    if(verificaPagina.indexOf(match)>=0) {
    leggiTutto = true;
    }

    ma non va purtroppo...


    Posto anche il body della pagina html che devo verificare, perchè posso verificare la presenza di una qualsiasi stringa all'interno del body...

    <body>
    <center><font size="3">



    <font color="#FF0000">Server</font>




    Session

    ID:
    </font></center>
    </body>

  7. #7
    Ma hai provato a mettere il comando

    System.out.println( "controllo "+presente+" con "+match ) ;

    sei sicuro che la stringa "presente" contiene la stringa che vuoi controllare?

    malus
    Non condivido le cose che dici ma difenderò sino alla morte il tuo diritto di dirle | http://fabiocannioto.eu/

  8. #8
    Ho fatto i print e infatti non controlla mai la stringa che ho messo come match con la stringa che è presente sulla pagina, non capisco perchè....

  9. #9
    Allora il problema sarà il readline()
    credo che forse non hai usato l'URLConnection.... prova così!


    URL u = new URL(sito);
    URLConnection uc = u.openConnection();
    BufferedReader br = new BufferedReader(new InputStreamReader(uc.getInputStream()));
    String buf;
    while ((buf = br.readLine()) != null)

    malus
    Non condivido le cose che dici ma difenderò sino alla morte il tuo diritto di dirle | http://fabiocannioto.eu/

  10. #10
    Ho risolto, ho fatto un substring delle stringhe nella pagina, così funziona...



    grazie malus!

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.