我正在尝试使用 Jsoup 从维基百科文章中提取文本。
我的想法是简单地提取每个标题及其各自的文本段落。
我在理解如何仅获取每个部分的特定文本时遇到了一些麻烦,这就是我所拥有的:
public static void main(String[] args) {
String url = "http://en.wikipedia.org/wiki/Albert_Einstein";
Document doc;
try {
doc = Jsoup.connect(url).get();
doc = Jsoup.parse(doc.toString());
Elements titles = doc.select(".mw-headline");
PrintStream out = new PrintStream(new FileOutputStream("output.txt"));
System.setOut(out);
for(Element h3 : doc.select(".mw-headline"))
{
String title = h3.text();
String titleID = h3.id();
Elements paragraphs = doc.select("p#"+titleID);
//Element nextEle=h3.nextElementSibling();
System.out.println(title);
System.out.println("----------------------------------------");
System.out.println(titleID);
System.out.print("\n");
System.out.println(paragraphs.text());
System.out.print("\n");
}
} catch (IOException e) {
System.out.println("deu merda");
e.printStackTrace();
}
有了这个,我可以提取每个标题,但我不知道如何从每个部分获取文本以相应地打印它。我在想也许是标题的ID,但没有骰子。
感谢您的任何帮助!