Java JSoup仅从维基百科中提取特定部分
我已经设法提取了维基百科文章右侧“表格”中的信息。不过,我也想从文章的主要文本中获得段落 我使用的atm代码只有大约60%的时间(空指针或根本没有文本)可以工作。在下面的例子中,我只对第一段感兴趣,但这与我的问题无关 在下面的图片中,我展示了我想要文本的部分。我希望能够遍历Java JSoup仅从维基百科中提取特定部分,java,android,html,jsoup,Java,Android,Html,Jsoup,我已经设法提取了维基百科文章右侧“表格”中的信息。不过,我也想从文章的主要文本中获得段落 我使用的atm代码只有大约60%的时间(空指针或根本没有文本)可以工作。在下面的例子中,我只对第一段感兴趣,但这与我的问题无关 在下面的图片中,我展示了我想要文本的部分。我希望能够遍历块中的所有部分 StringBuilder sb=新建StringBuilder(); 字符串url=baseUrl+位置; Document doc=Jsoup.connect(url.get(); 元素段落=文件选择(“.
StringBuilder sb=新建StringBuilder();
字符串url=baseUrl+位置;
Document doc=Jsoup.connect(url.get();
元素段落=文件选择(“.mw内容ltr p”);
元素first段落=段落.first();
Element elementTwo=第一段.nextElementSibling();
if(elementTwo==null){
对于(int i=0;i<2;i++){
sb.追加(段落.get(i).text());
}
}否则{
sb.append(elementTwo.text());
}
使某人返回字符串();
不必走那条路。维基百科有一个允许查询页面的API:(例如)看起来不错,你知道一个查询会是什么样子吗?例如,从一篇文章中获取第一段和第二段?嗯,你必须自己做一些工作。如果你被困在某个地方,请随时回来问一些问题。
StringBuilder sb = new StringBuilder();
String url = baseUrl + location;
Document doc = Jsoup.connect(url).get();
Elements paragraphs = doc.select(".mw-content-ltr p");
Element firstParagraph = paragraphs.first();
Element elementTwo = firstParagraph.nextElementSibling();
if (elementTwo == null) {
for (int i = 0; i < 2; i++) {
sb.append(paragraphs.get(i).text());
}
} else {
sb.append(elementTwo.text());
}
return sb.toString();