我想在我的 iOS 应用程序中集成维基百科(它与 mediawiki 有关吗?)
如果是这样,我想知道我将如何告诉维基百科给我一篇关于o2 arena london
(它是伦敦市的一个场所)的文章。
这个例子的 url 是什么?
我在谷歌搜索,我发现了这个网址:
但这并没有提供任何数据。
还有其他网址吗?
我想在我的 iOS 应用程序中集成维基百科(它与 mediawiki 有关吗?)
如果是这样,我想知道我将如何告诉维基百科给我一篇关于o2 arena london
(它是伦敦市的一个场所)的文章。
这个例子的 url 是什么?
我在谷歌搜索,我发现了这个网址:
但这并没有提供任何数据。
还有其他网址吗?
维基百科在 MediaWiki 上运行(加上一些也可用的自定义),所以您的第一个问题的答案是“是”。
首先,您需要使用OpenSearch API来查找哪些页面包含您想要的信息。搜索的o2 arena london
是以下网址:
https://en.wikipedia.org/w/api.php?action=opensearch&search=o2+arena+london&format=jsonfm
这给出了以下结果:
[
"o2 arena london",
[
"O2 Arena London"
]
]
使用这些结果,我们可以要求 Wikipedia 返回页面的 HTML。在这里,页面“O2 Arena London”是指向“O2 Arena (London)”的重定向,因此我们需要请求 Wikipedia 解决重定向问题并提供最终页面。这是使用action=parse
:
https://en.wikipedia.org/w/api.php?action=parse&redirects=1&page=O2+Arena+London&format=jsonfm
这给出了以下(缩短的)结果:
{
"parse": {
"title": "The O2 Arena",
"revid": 578231031,
"redirects": [
{
"from": "O2 Arena London",
"to": "The O2 Arena"
}
],
"text": {
"*": "<div class=\"dablink\">This article is about the indoor arena located in
London. For other uses, see <a href=\"/wiki/O2_Arena_(disambiguation)\"
title=\"O2 Arena (disambiguation)\" class=\"mw-redirect\">O2 Arena</a>.
...
您可以显示结果,但如果没有 Wikipedia 的 CSS 样式,它可能看起来很奇怪。
另请注意,如果您想要实际的 JSON,您可以使用format=json
而不是format=jsonfm
.
如果您不想解析维基百科api
输出,为什么不
http://en.wikipedia.org/w/index.php?search=O2+arena+london
您只需搜索以 . 分隔的单词+
。