Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JSoup仅从维基百科中提取特定部分_Java_Android_Html_Jsoup - Fatal编程技术网

Java JSoup仅从维基百科中提取特定部分

Java JSoup仅从维基百科中提取特定部分,java,android,html,jsoup,Java,Android,Html,Jsoup,我已经设法提取了维基百科文章右侧“表格”中的信息。不过,我也想从文章的主要文本中获得段落 我使用的atm代码只有大约60%的时间(空指针或根本没有文本)可以工作。在下面的例子中,我只对第一段感兴趣,但这与我的问题无关 在下面的图片中,我展示了我想要文本的部分。我希望能够遍历块中的所有部分 StringBuilder sb=新建StringBuilder(); 字符串url=baseUrl+位置; Document doc=Jsoup.connect(url.get(); 元素段落=文件选择(“.

我已经设法提取了维基百科文章右侧“表格”中的信息。不过,我也想从文章的主要文本中获得段落

我使用的atm代码只有大约60%的时间(空指针或根本没有文本)可以工作。在下面的例子中,我只对第一段感兴趣,但这与我的问题无关

在下面的图片中,我展示了我想要文本的部分。我希望能够遍历块中的所有部分

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();