10

p我想从放置在标签中的 HTML 页面中提取文本li,因此我可以开始标记页面以为每个页面构建倒排索引以回答搜索查询。

如何p使用 jsoup 获取标签

Elements e = doc.select(""); 

要写入该参数的字符串可能是什么?

4

3 回答 3

21

这可以完成工作

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

这是您可以使用的所有选择器的列表。

假设你有这个 html:

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

要获得some bold text结果,您应该使用:

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

或者

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

假设现在您有以下复杂的 html

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

要从两个p标签中获取值,您必须执行以下操作

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

您还可以在此处找到更多信息

希望这有帮助

于 2013-05-23T12:01:35.093 回答
0
String testText1 = d.select("body").text();
System.out.println(testText);

或者

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

您可以使用它从标签中获取文本。

于 2014-09-03T03:29:00.077 回答
0

尝试这个:

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);
        }
    }
}
于 2018-01-17T11:44:07.337 回答