gpt4 book ai didi

java - 使用 jSoup 将文本存储到字符串中

转载 作者:行者123 更新时间:2023-12-02 13:17:30 26 4
gpt4 key购买 nike

我试图了解如何一起使用 htmlUnit 和 jSoup,并成功地理解了基础知识。但是,我试图将特定网页中的文本存储到字符串中,但是当我尝试这样做时,它只返回一行而不是整个文本。

我知道我编写的代码的工作原理与我打印 p.text 时一样,它返回存储在网站中的整个文本。

private static String getText() {
try {
final WebClient webClient = new WebClient();
final HtmlPage page = webClient.getPage("https://www.gov.uk/government/policies/brexit");
List<HtmlAnchor> anchors = page.getAnchors();
HtmlPage page1 = anchors.get(18).click();
String url = page1.getUrl().toString();
Document doc = Jsoup.connect(url).get();
Elements paragraphs = doc.select("div[class=govspeak] p");
for (Element p : paragraphs)
System.out.println(p.text());
} catch (Exception e) {
e.printStackTrace();
Logger.getLogger(HTMLParser.class.getName()).log(Level.SEVERE, null, e);
}
return null;
}

}

当我引入字符串的概念来存储 p.text 中的文本时,它只返回一行而不是整个文本。

private static String getText() {
String text = "";
try {
final WebClient webClient = new WebClient();
final HtmlPage page = webClient.getPage("https://www.gov.uk/government/policies/brexit");
List<HtmlAnchor> anchors = page.getAnchors();
HtmlPage page1 = anchors.get(18).click();
String url = page1.getUrl().toString();
Document doc = Jsoup.connect(url).get();
Elements paragraphs = doc.select("div[class=govspeak] p");
for (Element p : paragraphs)
text=p.text();
} catch (Exception e) {
e.printStackTrace();
Logger.getLogger(HTMLParser.class.getName()).log(Level.SEVERE, null, e);
}
return text;
}

最终,我想做的就是将整个文本存储到一个字符串中。任何帮助将不胜感激,提前致谢。

最佳答案

Document doc = Jsoup.connect(url).get();
String text = doc.text();

基本上就是这样。由于 JSoup 已经负责清除文本中的所有 html 标签,因此您可以使用 doc.text() ,您将收到从 html 中清除的整个页面的内容标签。

关于java - 使用 jSoup 将文本存储到字符串中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43710133/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com