我正在寻找一个mediawiki api,我可以用它来获得有关任何查询字符串的简短描述。例如,如果我搜索Nicolas Cage,那么它应该为他返回简短说明。
我不确定prop = revisions是否正确。我的目的是得到关于页面最终版本的简短描述。
此外,我需要另一个api,它可以从查询字符串中提供维基百科页面(web / mobile)的链接。即对于Nicolas Cage,应返回http://en.wikipedia.org/wiki/Nicolas_cage。
答案 0 :(得分:2)
默认情况下MediaWiki中没有页面摘要,但您可以获得如下页面的第一段:http://en.wikipedia.org/w/api.php?action=parse&page=Nicolas_Cage&prop=text§ion=0
如果Wiki已安装扩展程序PageSummaries,您可以使用它来准确获取所需内容(例如,在扩展程序描述页面中的this example中)。
要查找与字符串匹配的网页,请使用开放搜索功能,如下所示:http://en.wikipedia.org/w/api.php?action=opensearch&search=Nicolas%20cage&namespace=0
编辑:@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§ion=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