it-swarm.com.de

So extrahieren Sie Texte zwischen <p> -Tags

Ich möchte Texte aus HTML-Seiten extrahieren, die in p- und li-Tags platziert sind, sodass ich die Seite mit einem Token versehen kann, um invertierte Indizes für jede Seite zu erstellen, um Suchanfragen zu beantworten.

Wie kann ich mit jsoup p-Tags erhalten?

Elements e = doc.select(""); 

Was könnte der String sein, der in diesen Parameter geschrieben werden soll?

10
rena-c

Das kann die Arbeit machen

Elements e=doc.select("p"); 

Hier ist eine Liste aller Selektoren , die Sie verwenden können.

Angenommen, Sie haben dieses HTML:

String html="<p>some <strong>bold</strong> text</p>";

Um some bold text als Ergebnis zu erhalten, sollten Sie Folgendes verwenden:

Document doc = Jsoup.parse(html);
Element p= doc.select("p").first();
String text = doc.body().text(); //some bold text

oder

String text = p.text(); //some bold text

Angenommen, Sie haben jetzt die folgende komplexe HTML-Datei

String html="<div id=someid><p>some text</p><span>some other text</span><p> another p tag</p></div>"

Um die Werte aus den beiden p-Tags zu erhalten, müssen Sie Folgendes tun

Document doc = Jsoup.parse(html);
Element content = doc.getElementById("someid");
Elements p= content.getElementsByTag("p");

String pConcatenated="";
for (Element x: p) {
  pConcatenated+= x.text();
}

System.out.println(pConcatenated);//sometext another p tag

Mehr Infos hier auch

Hoffe das hat geholfen

20
MaVRoSCy

Versuche dies:

File input = new File("/home/s5/Downloads/PDFCopy/PDs.html");
        Document doc = Jsoup.parse(input, "UTF-8","http://www.Cisco.com/c/en/us/products/collateral/wireless/aironet-1815-series-access-points/datasheet-c78-738481.pdf");
        Elements link = doc.select("p");
        String linkText = link.text();
        //System.out.println(linkText);
        String[] words=linkText.split("\\W");
        for(String str:words) 
        {
            System.out.println(str);
        }
    }
}
0
PANKAJ MALI
String testText1 = d.select("body").text();
System.out.println(testText);

oder

String testText2 = d.select("body p").text();
System.out.println(testText);

Sie können dies verwenden, um den Text von Tags abzurufen.

0
NomanJaved