Libreria Jsoup

di il
4 risposte

Libreria Jsoup

Ciao,
mettiamo debba estrarre dei dati da una tabella che abbia un aspetto del genere:
<table>
<tbody>
<tr>
<th>Data</th>
<th>1</th>
<th>2</th>
<th>3</th>
<th>4</th>
<th>5</th>
</tr>
<tr>
<td>2 Gennaio 2018</td>
<td>03</td>
<td>14</td>
<td>33</td>
<td>49</td>
<td>50</td>
</tr>
<tr>
<td>3 Gennaio 2018</td>
<td>01</td>
<td>30</td>
<td>41</td>
<td>43</td>
<td>49</td>
</tr>

... eccetera
</tbody>
</table>
Ora, sono riuscito ad estrarre tutte le righe della tabella grazie all'utilizzo della libreria Jsoup, nel seguente modo:
        Document doc = null;	
		sb = new StringBuilder();
		try {
			doc = Jsoup.connect("https://www.unsito.com").get();			
			Element tabella = doc.tagName("table");			
			for (Element riga : tabella.select("tr")) {
				for (Element colonna : riga.select("td")) {
					 sb.append(colonna.text() + " ");					 
				}
				sb.append("\n");				
			}						
		} catch (IOException e) {			
			...qualcosa
		}
In questo modo estraggo tutta la riga, ma a me servirebbe controllare ogni singolo tag perché parte di questi dati dovrò mostrarli a schermo, altri salvarli in locale all'interno di un file che risiede nella memoria del dispositivo...

Qualcuno conosce questa libreria? Se sì, puoi mostrarmi come estrarre ogni singolo elemento utilizzando questo esempio?

4 Risposte

  • Re: Libreria Jsoup

  • Re: Libreria Jsoup

    Ciao,

    andbin ha scritto:


    La documentazione di Jsoup dice chiaramente un'altra cosa per il tagName(String): Change the tag of this element. For example, convert a <span> to a <div> with el.tagName("div");
    Quindi NON credo che ti serva.

    Boh, ho fatto vari tentativi e in quel modo le cose funzionano, quindi tu dici che non serve? Proverò poi ti farò sapere...
  • Re: Libreria Jsoup

  • Re: Libreria Jsoup

    Grazie!

    Adesso mi è più chiaro come estrarre un singolo elemento (che si tratti di #ID o .class) o tutti gli elementi.
Devi accedere o registrarti per scrivere nel forum
4 risposte