3

我正在尝试使用 Wiki API 构建查询,该 API 将以 id 格式返回特定文章的所有内部链接。我有一些文章的pageId。例如,文章“Android(操作系统)”的 id 是 12610483。在我的客户端,我只需要使用 id,然后只能通过 id 获取所有信息。我的目标是从给出文章 ID 中找到所有内部链接(文章 ID)。

不幸的是,我发现唯一可能的方法是获取由文章标题表示的链接: http ://en.wikipedia.org/w/api.php?action=parse&format=json&pageid=12610483&prop=links

还有其他方法可以获取链接的ID,而不仅仅是标题吗?

4

2 回答 2

4

您要做的是使用action=query&prop=linkspagelinks数据库表中获取数据,而不是解析页面文本。

这仍然只会给你页面标题(因为链接可能会导致一个不存在的页面,这意味着没有页面 id)。

但是您可以通过prop=links用作生成器来解决此问题:

http://en.wikipedia.org/w/api.php?action=query&format=json&pageids=12610483&generator=links&gpllimit=max

如果文章有很多链接(如您建议的链接),您将需要使用分页(请参阅gplcontinue元素)。

于 2013-08-26T00:14:56.427 回答
-3

我认为您需要使用 PHP Simple HTML DOM Parser

你在这里找不到它 http://simplehtmldom.sourceforge.net/

于 2013-08-25T19:16:08.447 回答