Autore Topic: parsing HTML con libreria htmlcleaner  (Letto 802 volte)

Offline Zeph

  • Nuovo arrivato
  • *
  • Post: 9
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    LG Optimus 4X HD (LGE P880)
  • Sistema operativo:
    Windows 7 64bit
parsing HTML con libreria htmlcleaner
« il: 17 Marzo 2013, 13:46:30 CET »
0
Ciao a tutti, come da titolo dovrei effettuare il parsing di una pagina web attraverso la libreria htmlcleaner.
Premetto che riesco ad utilizzare la libreria ed ottenere e stampare i dati.
Il problema è che non riesco a catturare la sola porzione di pagina che mi interessa.
Dovrei catturare tutti i tag "<strong>" che sono le stringhe assegnate a dei link all'interno di un certo div
In particolare la struttura html è la seguente :
Codice: [Seleziona]
<div id="main"  ............
    <ul>
        <li>
             <a href="..."><strong>PAROLA<strong></a>
        </li>
         <li>
             <a href="..."><strong>PAROLA2<strong></a>
        </li>
         ......
         ......
         ......
     </ul>
</div>
Come detto a me interessa soltanto la parola compresa tra <strong> senza il link e,ad aggravare la mia posizione, il numero di link è variabile e non so mai quanti effetivamente ce ne sono all'interno della pagina.
Grazie

Offline rs94

  • Utente normale
  • ***
  • Post: 227
  • Respect: +21
    • Mostra profilo
  • Dispositivo Android:
    Sony Ericsson Xperia Arc S
  • Sistema operativo:
    Windows 8
Re:parsing HTML con libreria htmlcleaner
« Risposta #1 il: 17 Marzo 2013, 19:23:38 CET »
0
Anche io all'inizio avevo iniziato con htmlcleaner. Ottima libreria, ma non mi ci trovavo. Poi sono passato a jsoup e il parsing non è più stato un problema. Veramente facile da usare e piuttosto veloce. Se il passaggio tra le due librerie non è un problema ti consiglio di provarla. E' veramente ottima :)

http://jsoup.org/
L'unica certezza è il dubbio.
Dubitare di se stessi è il primo segno di intelligenza.

Offline Zeph

  • Nuovo arrivato
  • *
  • Post: 9
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    LG Optimus 4X HD (LGE P880)
  • Sistema operativo:
    Windows 7 64bit
Re:parsing HTML con libreria htmlcleaner
« Risposta #2 il: 17 Marzo 2013, 23:23:22 CET »
0
Grazie , la proverò.. ma come potrei impostare il tutto?

Offline rs94

  • Utente normale
  • ***
  • Post: 227
  • Respect: +21
    • Mostra profilo
  • Dispositivo Android:
    Sony Ericsson Xperia Arc S
  • Sistema operativo:
    Windows 8
Re:parsing HTML con libreria htmlcleaner
« Risposta #3 il: 18 Marzo 2013, 13:14:18 CET »
0
Codice (Java): [Seleziona]
ArrayList<String> testi = new ArrayList<String>();
Document doc = Jsoup.parse("il tuo url");
Element div_main = doc.getElementById("main");
Elements strong = div_main.getElementsByTag("strong");
for(int i=0;i<strong.size();i++)
{
      testi.add(strong.get(i).text());
}

Non l'ho testato non avendo la pagina html, ma dovrebbe andare :)
L'unica certezza è il dubbio.
Dubitare di se stessi è il primo segno di intelligenza.

Offline Zeph

  • Nuovo arrivato
  • *
  • Post: 9
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    LG Optimus 4X HD (LGE P880)
  • Sistema operativo:
    Windows 7 64bit
Re:parsing HTML con libreria htmlcleaner
« Risposta #4 il: 19 Marzo 2013, 09:00:12 CET »
0
Grazie mille ha funzionato alla perfezione con l'unica modifica di Jsoup.parse(url,0);
Altrimenti non parsava dal web ma processava la stringa url come stringa formattata in html

Offline rs94

  • Utente normale
  • ***
  • Post: 227
  • Respect: +21
    • Mostra profilo
  • Dispositivo Android:
    Sony Ericsson Xperia Arc S
  • Sistema operativo:
    Windows 8
Re:parsing HTML con libreria htmlcleaner
« Risposta #5 il: 19 Marzo 2013, 13:59:19 CET »
0
Si scusa quello era per codice html salvato in una stringa.

Il metodo corretto da url è questo:

Codice (Java): [Seleziona]
Document doc = Jsoup.connect("il tuo url").get();
L'unica certezza è il dubbio.
Dubitare di se stessi è il primo segno di intelligenza.