iphone - iOS 应用程序中的维基百科

标签 iphone ios ipad mediawiki wikipedia-api

我想在我的 iOS 应用程序中集成维基百科(它与 mediawiki 相关吗?)

如果是这样,我想知道如何告诉维基百科给我一篇关于 o2 arena london(它是伦敦市的一个 field )的文章。

这个例子的 url 是什么?

我在 google 中搜索并找到了这个 URL:

http://en.wikipedia.org/w/api.php?action=query&prop=revisions&titles=o2%20arena%20london&rvprop=content&format=json&rvsection=0&rvparse=1

但这并没有提供任何数据。

还有其他网址吗?

最佳答案

维基百科在 MediaWiki 上运行(加上一些可用的定制),因此您的第一个问题的答案是"is"。

首先你需要使用 OpenSearch API查找哪些页面包含您想要的信息。搜索 o2 arena london 是以下 URL:

https://en.wikipedia.org/w/api.php?action=opensearch&search=o2+arena+london&format=jsonfm

结果如下:

[
    "o2 arena london",
    [
        "O2 Arena London"
    ]
]

使用这些结果,我们可以要求维基百科返回页面的 HTML。在这里,页面“O2 Arena London”是重定向到“O2 Arena (London)”,因此我们需要请求维基百科解析重定向并给我们最终页面。这是使用 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>.

...

你可以显示结果,但如果没有维基百科的 CSS 样式,它可能看起来很奇怪。

另请注意,如果您需要实际的 JSON,您将使用 format=json 而不是 format=jsonfm

关于iphone - iOS 应用程序中的维基百科,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19424677/

相关文章:

ios - 可以从哪个 View Controller 检查 segue 然后执行某些操作吗?

iphone - 通过触摸编辑 CGImage(或 UIImage)的 alpha 然后显示的最快方法?

objective-c - MKAnnotationView 在收到事件时更新标题和副标题的距离

ios - 在Facebook上共享内容时如何添加多个主题标签

ios - 给分段控制带来阴影

iphone - 从 iPhone 向 Ruby on Rails (RoR) 服务器发送多部分请求

android - 更改Android和IOS推送通知状态栏的图标

iphone - 如何在 iPhone/iPad 上为线条添加纹理

iphone - 波兰语的 CFStringEncoding 是什么?

ios - 为什么使用 UIImageJPEGRepresentation 方法通过 writetofile 保存的 .jpeg 文件比 ios 中的 UIImageWriteToSavedPhotosAlbum 大