从MediaWiki API获取文章摘要

时间:2014-07-17 14:56:14

标签: mediawiki mediawiki-api

我正在寻找一个mediawiki api,我可以用它来获得有关任何查询字符串的简短描述。例如,如果我搜索Nicolas Cage,那么它应该为他返回简短说明。

我尝试了http://en.wikipedia.org/w/api.php?%20format=json&action=query&titles=Nicolas%20Cage&prop=revisions&rvprop=content

我不确定prop = revisions是否正确。我的目的是得到关于页面最终版本的简短描述。

此外,我需要另一个api,它可以从查询字符串中提供维基百科页面(web / mobile)的链接。即对于Nicolas Cage,应返回http://en.wikipedia.org/wiki/Nicolas_cage

2 个答案:

答案 0 :(得分:2)

  1. 默认情况下MediaWiki中没有页面摘要,但您可以获得如下页面的第一段:http://en.wikipedia.org/w/api.php?action=parse&page=Nicolas_Cage&prop=text&section=0
    如果Wiki已安装扩展程序PageSummaries,您可以使用它来准确获取所需内容(例如,在扩展程序描述页面中的this example中)。

  2. 要查找与字符串匹配的网页,请使用开放搜索功能,如下所示:http://en.wikipedia.org/w/api.php?action=opensearch&search=Nicolas%20cage&namespace=0

  3. 编辑:@Bergi在评论中指出,打开搜索还会给出页面摘要。我不知怎的错过了。

答案 1 :(得分:0)

说,你想得到一个搜索字符串Nicolas Cage的摘要。

步骤1.获取页面ID:“https://en.wikipedia.org/w/api.php?action=query&list=search&srsearch=Nicolas%20Cage&format=json&srlimit=1
步骤2.使用此页面ID获取页面的第0部分: “https://en.wikipedia.org/w/api.php?action=parse&section=0&pageid=21111&prop=text&format=json
步骤3.按要求解析。
为Python扩展的第3步:对目标标记使用BeautifulSoup,使用get_text()给出明文 使用rvprop获取最新版本,进一步浏览mediaWIKI文档。

替代解决方案:
步骤1.使用上面的步骤1获取页面标题。
步骤2.使用标题如下:https://en.wikipedia.org/w/api.php?format=json&action=query&prop=extracts&exintro=&explaintext=&titles=Nicolas%20Cage