如何使用MediaWiki的api获取文章的第一部分?

时间:2012-11-22 17:53:10

标签: mediawiki-api

我想找到随机选择的页面的第一部分,并以HTML格式呈现。

以下是我的尝试: http://en.wikipedia.org/w/api.php?format=xml&action=query&generator=random&prop=revisions&rvprop=content&rvparse

但它继续在用户会话和其他我不感兴趣的结果中返回结果(即它们在其他名称空间中)

我不知道如何在这里指定命名空间。像rnnnamespace和rvnamespace这样的参数不起作用。

我更喜欢这是一个单独的API调用,但如果不可能,我怎么能用两个呢?

2 个答案:

答案 0 :(得分:4)

答案 1 :(得分:3)

如果您想获取特定文章而不是随机页面,可以使用替代查询,基于action = parse:api.php?action=parse&page=StackOverflow&prop=text&section=0

由于您专注于第一部分,您可能会对扩展的API方法感兴趣(由MobileFrontend extension引入,这意味着默认情况下它在每个MediaWiki维基上都不可用,但它可以在维基媒体wiki),它使用一个名为“extract”的属性:api.php?action=query&prop=extracts&exintro&generator=random&grnnamespace=0 - 这个查询实际上剥离了所有花哨的东西(表格,模板,链接,图像......),只返回格式化的有效文本内容。