简体   繁体   中英

Issue with library JSOUP

This is the HTML

<div class="entry-content">
    <p>Oltre settanta mezzi complessivi dotati del sistema Gps, una stretta collaborazione con MeteoinMolise e un numero verde per le emergenze (800-993380) attivo ventiquattro ore su ventiquattro. Sono le principali novità introdotte dalla Sea che, questa mattina, ha presentato il nuovo piano neve presso la sede di Piazza Molise. Presenti, oltre al sindaco Battista, anche gli assessori Maio e De Bernardo. Soddisfatto il presidente del Cda – Stefano Sabatini – intervenuto nel corso dell’incontro. “Il passo in avanti è compiuto grazie ai sistemi tecnologici, ai quali abbiamo deciso di affidarci per migliorare il servizio a disposizione dei cittadini del capoluogo. In questo modo, speriamo di lasciarli soddisfatti e, soprattutto, ci auguriamo di ridurre drasticamente i disagi”.</p>
    <p><strong>L&#8217;articolo integrale sull&#8217;edizione cartacea del Quotidiano in edicola domani.</strong></p>
    <p>&nbsp; <strong>Vuoi ricevere questa ed altre notizie direttamente sul tuo cellulare? Semplice! Invia il testo NEWS SI con un normale sms al nostro numero <span style="text-decoration: underline;">+39 3201122791</span> e riceverai quotidianamente sms informativi gratuiti per essere aggiornato in tempo reale sulle principali notizie della regione. Inoltre sempre a questo numero potrai inviarci segnalazioni foto/video di qualsiasi natura tramite WhatsApp</strong></p>
</div>

But i need to get only this:

Oltre settanta mezzi complessivi dotati del sistema Gps, una stretta collaborazione con MeteoinMolise e un numero verde per le emergenze (800-993380) attivo ventiquattro ore su ventiquattro. Sono le principali novità introdotte dalla Sea che, questa mattina, ha presentato il nuovo piano neve presso la sede di Piazza Molise. Presenti, oltre al sindaco Battista, anche gli assessori Maio e De Bernardo. Soddisfatto il presidente del Cda – Stefano Sabatini – intervenuto nel corso dell’incontro. “Il passo in avanti è compiuto grazie ai sistemi tecnologici, ai quali abbiamo deciso di affidarci per migliorare il servizio a disposizione dei cittadini del capoluogo. In questo modo, speriamo di lasciarli soddisfatti e, soprattutto, ci auguriamo di ridurre drasticamente i disagi”.

I am not able to get what I want. How can help me?

This is my code:

@Override
protected Void doInBackground(Void... params) {
    try {
        // Connect to the web site
        Document document = Jsoup.connect(url).get();
        // Using Elements to get the Meta data
        Elements description = document
            .select("div class=\"entry-content\"");
        // Locate the content attribute
        desc = description.text();
    } catch (IOException e) {
        e.printStackTrace();
    }
    return null;
}

THANKS IN ADVANCE EVERYBODY!

I am not an android developer, but I would assume something like this would work.

<div class="entry-content">
    <p class="get-content">Oltre settanta mezzi complessivi dotati del sistema Gps, una stretta collaborazione con MeteoinMolise e un numero verde per le emergenze (800-993380) attivo ventiquattro ore su ventiquattro. Sono le principali novità introdotte dalla Sea che, questa mattina, ha presentato il nuovo piano neve presso la sede di Piazza Molise. Presenti, oltre al sindaco Battista, anche gli assessori Maio e De Bernardo. Soddisfatto il presidente del Cda – Stefano Sabatini – intervenuto nel corso dell’incontro. “Il passo in avanti è compiuto grazie ai sistemi tecnologici, ai quali abbiamo deciso di affidarci per migliorare il servizio a disposizione dei cittadini del capoluogo. In questo modo, speriamo di lasciarli soddisfatti e, soprattutto, ci auguriamo di ridurre drasticamente i disagi”.</p>
    <p><strong>L&#8217;articolo integrale sull&#8217;edizione cartacea del Quotidiano in edicola domani.</strong></p>
    <p>&nbsp; <strong>Vuoi ricevere questa ed altre notizie direttamente sul tuo cellulare? Semplice! Invia il testo NEWS SI con un normale sms al nostro numero <span style="text-decoration: underline;">+39 3201122791</span> e riceverai quotidianamente sms informativi gratuiti per essere aggiornato in tempo reale sulle principali notizie della regione. Inoltre sempre a questo numero potrai inviarci segnalazioni foto/video di qualsiasi natura tramite WhatsApp</strong></p>
</div>

And

@Override
    protected Void doInBackground(Void... params) {
        try {
            // Connect to the web site
            Document document = Jsoup.connect(url).get();
            // Using Elements to get the Meta data
            Elements description = document
                    .select("div class=\"get-content\"");
            // Locate the content attribute
            desc = description.text();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }

I would suggest using something different in the select. Maybe use an ID for what you actually want to get, or define it differently. But, your code is simply just getting the content in the parent div, which I would assume is expected.

You can use JSoup's selector syntax to address the <p> elements within the <div> with class="entry-content" .

For example:

String html = "<div class=\"entry-content\">\n" +
        "<p>Oltre settanta mezzi complessivi dotati del sistema Gps, una stretta collaborazione con MeteoinMolise e un numero verde per le emergenze (800-993380) attivo ventiquattro ore su ventiquattro. Sono le principali novità introdotte dalla Sea che, questa mattina, ha presentato il nuovo piano neve presso la sede di Piazza Molise. Presenti, oltre al sindaco Battista, anche gli assessori Maio e De Bernardo. Soddisfatto il presidente del Cda – Stefano Sabatini – intervenuto nel corso dell’incontro. “Il passo in avanti è compiuto grazie ai sistemi tecnologici, ai quali abbiamo deciso di affidarci per migliorare il servizio a disposizione dei cittadini del capoluogo. In questo modo, speriamo di lasciarli soddisfatti e, soprattutto, ci auguriamo di ridurre drasticamente i disagi”.</p>\n" +
        "<p><strong>L&#8217;articolo integrale sull&#8217;edizione cartacea del Quotidiano in edicola domani.</strong></p>\n" +
        "<p>&nbsp; <strong>Vuoi ricevere questa ed altre notizie direttamente sul tuo cellulare? Semplice! Invia il testo NEWS SI con un normale sms al nostro numero <span style=\"text-decoration: underline;\">+39 3201122791</span> e riceverai quotidianamente sms informativi gratuiti per essere aggiornato in tempo reale sulle principali notizie della regione. Inoltre sempre a questo numero potrai inviarci segnalazioni foto/video di qualsiasi natura tramite WhatsApp</strong></p>\n" +
        "</div>";

Document doc = Jsoup.parse(html);

// find the first <p> element within <div class="entry-content">
Element element = doc.select("div.entry-content > p").first();

System.out.println(element.text());

The above code prints out:

Oltre settanta mezzi complessivi dotati del sistema Gps, una stretta collaborazione con MeteoinMolise e un numero verde per le emergenze (800-993380) attivo ventiquattro ore su ventiquattro. Sono le principali novità introdotte dalla Sea che, questa mattina, ha presentato il nuovo piano neve presso la sede di Piazza Molise. Presenti, oltre al sindaco Battista, anche gli assessori Maio e De Bernardo. Soddisfatto il presidente del Cda – Stefano Sabatini – intervenuto nel corso dell'incontro. “Il passo in avanti è compiuto grazie ai sistemi tecnologici, ai quali abbiamo deciso di affidarci per migliorare il servizio a disposizione dei cittadini del capoluogo. In questo modo, speriamo di lasciarli soddisfatti e, soprattutto, ci auguriamo di ridurre drasticamente i disagi”.

I think this will work

 org.jsoup.nodes.Element description = document.getElementsByClass("entry-content")
        .select("p")
        .first();

    String desc = description.text();

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM