2

我想找到一个随机选择的页面的第一部分并将其呈现为 HTML。

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

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

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

我希望这是一个单一的 API 调用,但如果不可能的话,我怎么能分两次调用呢?

4

2 回答 2

4

我玩过API 沙箱,这似乎符合我的要求:

api.php?format=xml&action=query&generator=random&prop=revisions&rvprop=content&rvparse= &rvsection=0&grnnamespace=0

于 2012-11-22T18:20:23.380 回答
3

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

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

于 2012-12-08T23:03:07.490 回答