admin 管理员组

文章数量: 1087139


2024年4月24日发(作者:sql语言是关系数据库的国际标准语言)

利用 PHP 与 MediaWiki API 来获取维基百

科信息

简介

常用缩略语

API:应用程序编程接口

CSRF:跨站点请求伪造

HTML:超文本标记语言

HTTP:超文本传输协议

IP:因特网协议

JSON:JavaScript 对象标记法

OOP:面向对象编程

PEAR:PHP 扩展与应用程序库

REST:具象状态传输

WDDX:Web 分布式数据交换

XHTML:可扩展超文本标记语言

XML:可扩展标记语言

YAML:YAML Ain't 标记语言

很多人都知道维基百科:它是容纳各种来源知识的终极存储库,涵盖几乎每个您能想到的主题,通过 Web

浏览器就可轻松获得。不论您想要查找什么信息,都可在维基百科中找到,并能获得详细的相关信息。而

且,因为它是公开可编辑的,所以,其中经常会包含一些更新信息以及相关信息。

大部分人可能对维基百科的另一个侧面不太了解。那就是隐藏的幕后的,强大的 Web 服务 API,它使得

开发人员能够进行访问、搜索、以及将维基百科内容集成到自定义 Web 应用程序中。该 API 通过 HTTP

工作,并返回各种格式的数据(包括 XML),对广大编程人员免费提供,它使得利用维基百科的强大数据

库来创建各类自定义 Web 应用程序成为可能。

在本文中,将对该 API 进行简要介绍,展示如何利用 PHP 编程语言来对其进行集成与使用。本文解释

了该 API 的工作基础,然后为您介绍列出类目、通过类目或者关键字来搜索条目、检索并展示条目、以及

远程增加和编辑内容等的相关实际例子。

回页首

理解 API

在开始研究 PHP 代码之前,先要介绍一下 Wikipedia API。首先,虽然本文中我将其称之为 “Wikipedia

API”,但需要特别注意,该 API 不是 Wikipedia 专用的。它实际上是 MediaWiki(Wikipedia 的运行基

础)的一部分,因此,本文中所列举的技术和 API 方法还可用于任何其他基于 MediaWiki 的 wiki 中。

参考资料 中提供了 MediaWiki 与完整 MediaWiki API 参考手册的链接。

和所有基于 HTTP 的服务一样,该 API 通过接受 HTTP 请求(其中包含一个或多个输入参数并返回可

被请求客户端使用和解析的响应)来运行。大多数情况下,响应的格式是 XML,因为当前几乎所有编程语

言都能够解析 XML;然而,也有可能需要返回其他格式的数据,比如 JSON、WDDX、YAML、或者 PHP

序列化的。

该 API 的每一个 HTTP 请求都必须包含一个 “action” 参数,它指定请求的动作。该参数必须是一个查询、

一个编辑或删除操作、一个认证请求、或者所支持的任何一个操作。除了这一强制参数外,基于所选择的

操作,还必须传递附加的参数,例如,用于查询的搜索关键字、编辑或者删除操作的页面标题、或者需要

进行认证的用户名和密码。

想要查看运行中的 API,可访问以下 URL。(注意:该 URL 实际上是一个字符串。因为格式的原因,用

两行来显示。)

/w/?action=query&list=allcategories&acprop=size

&acprefix=hollywood&format=xml

该方法会返回以前缀 “hollywood” 开始的前 10 个 Wikipedia 类。清单 1 举例说明针对该请求的原始

XML 响应。

清单 1. 示例 API 提要

xml:space="preserve">Hollywood

xml:space="preserve">Hollywood's Rock Walk inductees

xml:space="preserve">Hollywood, California

xml:space="preserve">Hollywood, Florida

xml:space="preserve">Hollywood, Los Angeles, California

xml:space="preserve">/celebrity/Wanda Shelley

xml:space="preserve">Hollywood Actors

xml:space="preserve">Hollywood Actress

xml:space="preserve">Hollywood Blacklist

xml:space="preserve">Hollywood Boulevard


本文标签: 请求 语言 格式 返回 参数