【发布时间】:2015-07-16 19:25:29
【问题描述】:
我使用 Wikipedia API 检索给定类别的页面列表。但是,页面由它们的 page_id 表示。如何使用 Wikipedia API 通过 page_id 获取页面的实际文本内容
【问题讨论】:
我使用 Wikipedia API 检索给定类别的页面列表。但是,页面由它们的 page_id 表示。如何使用 Wikipedia API 通过 page_id 获取页面的实际文本内容
【问题讨论】:
AFAIK 没有直接的方法可以从 pageid 获取 wiki 页面的文本 但是有几个解决方法
获取网址然后解析
通过像这样的 API 调用来获取 wikipage 的 URL
http://en.wikipedia.org/w/api.php?action=query&prop=info&pageids=<your_pageid_here>&inprop=url
然后转到 URL 并解析文本
获取页面名称,然后获取内容
如果页面名称已知,Wikipedia API 允许提取文本。但是由于您现在只知道 pageid,因此您需要使用 API 调用将 pageid 转换为 pagename,例如
http://en.wikipedia.org/w/api.php?action=query&pageids=<your_pageid_here>&format=json
这将为您提供页面名称,然后您可以进行另一个 API 调用以获取内容
http://en.wikipedia.org/w/api.php?action=parse&prop=text&page=<your_pagename_here>&format=json
【讨论】:
您可以通过添加这样的 超链接 来做到这一点,您需要从 API 获得的 pageid。
href=http://en.wikipedia.org/?curid=${pageid} 。
所以最后的链接就像https://en.wikipedia.org/?curid=13673345[1]
【讨论】: