查询具有属性的Wikipedia页面

yuv*_*r80 5 api search mediawiki wikipedia

我需要使用维基百科API查询或任何其他api(如Opensearch)来查询具有某些属性的简单页面列表.

输入:页面(文章)标题或ID的列表.
输出:每个包含以下属性的页面列表:
页面
标题标题
片段/描述(如在opensearch api中)
页面url
图像URL(如在opensearch api中)

与此类似的结果:
http ://en.wikipedia.org/w/api.php?
action = openssearch&search = MIME%20davis&limit = 20&format = xml仅限页面ID而非搜索,而是精确的页面列表通过标题或pageid.

这应该是一个相当简单的事情,但我一直坚持使用MW api手册中的各种URL组合,但没有成功.

leo*_*leo 2

我认为除了Open Search API之外没有其他方法可以获取 Open Search 数据,但根据您感兴趣的维基百科,可能会安装其他扩展来帮助您。以英文维基百科为例,我们可以使用恰好安装在那里的MobileFrontendPageImages扩展。

\n\n
    \n
  • 标题url可从原生 MediaWiki API 获取。要获取 url,您可以使用prop=info, 并指定inprop=url它是您感兴趣的 url。
  • \n
  • 页面的突出图像prop=pageimages由 PageImages 返回。
  • \n
  • MobileFrontend 添加了一个名为 的属性extracts,您可以将其与指令一起使用exintro来获取第一段。但请注意,MediWiki 标记很复杂,结果可能并不总是完美的。如果我们将所有内容放在一个查询中,结果将如下所示:
  • \n
\n\n

http://en.wikipedia.org/w/api.php?action=query&pageids=21482&prop=pageimages|info|extracts&inprop=url&exintro

\n\n

给出这个:

\n\n
<api>\n  <query>\n    <pages>\n      <page pageid="21482" ns="0" title="Nairobi" pageimage="Nairobi_Montage.jpg" contentmodel="wikitext" pagelanguage="en" touched="2014-02-06T06:10:01Z" lastrevid="594161616" counter="" length="89157" fullurl="http://en.wikipedia.org/wiki/Nairobi" editurl="http://en.wikipedia.org/w/index.php?title=Nairobi&amp;action=edit">\n        <thumbnail source="http://upload.wikimedia.org/wikipedia/commons/thumb/6/66/Nairobi_Montage.jpg/45px-Nairobi_Montage.jpg" width="45" height="50" />\n        <extract xml:space="preserve">\n             &lt;p&gt;&lt;b&gt;Nairobi&lt;/b&gt; /na\xc9\xaa\xcb\x88ro\xca\x8abi/ is the [...]\n        </extract>\n      </page>\n    </pages>\n  </query>\n</api>\n
Run Code Online (Sandbox Code Playgroud)\n