- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我想在我的 iOS 应用程序中集成维基百科(它与 mediawiki 相关吗?)
如果是这样,我想知道如何告诉维基百科给我一篇关于 o2 arena london
(它是伦敦市的一个 field )的文章。
这个例子的 url 是什么?
我在 google 中搜索并找到了这个 URL:
但这并没有提供任何数据。
还有其他网址吗?
最佳答案
维基百科在 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/
我是一名优秀的程序员,十分优秀!