我怎样才能使用维基百科 API 来 extract/parse 我要找的 link?

How can I use the Wikipedia API to extract/parse the link I am looking for?

在维基百科中,95% 的 link 都指向哲学页面。我正在尝试在 Java 中编写一个程序,它接受维基百科上的任何 link 并单击第一个 link(这不是 citation/sound/extraneous link 并且也忽略了 parentitzed link .)

例如,如果你从这个 url http://en.wikipedia.org/wiki/Dutch_people, it should click Ethnic Group http://en.wikipedia.org/wiki/Ethnic_group 开始,依此类推,直到它到达哲学

你应该看到这个 Getting_to_Philosophy 检查 http://xefer.com/wikipedia(输入任何单词)以查看其工作原理。

我已经写了后端将数据库中的数据存储在 3 列中 Unique_URL_Id URL_Link Next_URL_Id 所以后面打印整个路径会更容易。

后端工作正常(如果我只给它一个要遵循的 link 列表)。然而,提取并找到第一个 link 是不正常的,因为它应该有效。

这是我为使用 jSoap API

从 URL 中提取而编写的示例代码
public static void extractWikiPage(String title) throws IOException{

        Document doc = Jsoup.connect("http://en.wikipedia.org/wiki/Europe").get();
        //int titles = doc.toString().indexOf("(");

        //Get the first paragraph where the main body contents starts
        String body = doc.getElementsByTag("p").first().toString();
        System.out.println(body);                   
            Document doc2= Jsoup.parse(body);
            Elements href=doc2.getElementsByTag("a");
            int x="".indexOf("");
            for(Element h: href){
                System.out.println(h.toString());
            }
            //System.out.println(linkText);
            System.exit(1);

        }

我只是找到了第一次出现的 '<p>',因为下一页的 link 的 95% 都是从那里开始的。在该段中,我试图获取所有 link,但我需要第一个满足我上面写的条件的

如何使用 Wikipedia API 来解决提取我正在查找的数据的问题for.I感谢您的帮助。

/w/api.php?action=query&prop=revisions&format=json&rvprop=content&rvlimit=1&rawcontinue=&titles=Dutch_people 是 returns 该页面的维基文本的查询。

您必须解析该结果才能取回您想要的数据。您将寻找 [[double square brackets]] 内的第一个东西(可能在 /\{\{Infobox(.*?)\}\}/i 之后或类似的东西以排除信息框中的链接和页面上可能存在的任何维护标签)不以 "something:" 开头,以消除所有 interwiki 链接和类别以及 file/media 页面。