【问题标题】:How to get Wikipedia page content with internal links?如何获取带有内部链接的维基百科页面内容?
【发布时间】:2016-11-15 14:47:57
【问题描述】:
我正在尝试使用 MediaWiki API 获取带有内部链接的文本。这就是我现在拥有的:
https://en.wikipedia.org/w/api.php?format=json&prop=links&action=query&prop=extracts&exlimit=max&explaintext&titles=Yahoo&redirects=
如何使用内联链接获取此文本?
【问题讨论】:
标签:
javascript
json
api
mediawiki
wikipedia-api
【解决方案1】:
要通过查询获得多个属性,您必须通过管道将它们分开:"|"。所以,你的&prop=links&prop=extracts(extracts覆盖links)必须是&prop=links|extracts,或者:
https://en.wikipedia.org/w/api.php?action=query&titles=Yahoo!&prop=links|extracts&pllimit=100&explaintext
但这是您将分别获取内容和链接的方式。如果您需要以清晰的 wiki 标记格式 获取带有内部链接的内容,您可以使用带有属性 revisions 的相同操作 query:
https://en.wikipedia.org/w/api.php?action=query&prop=revisions&titles=Yahoo!&rvprop=content
要以 HTML 标记格式获得相同的内容,您可以将 &rvparse 添加到上一个请求中:
https://en.wikipedia.org/w/api.php?action=query&prop=revisions&titles=Yahoo!&rvprop=content&rvparse
或者你也可以使用动作parse:
https://en.wikipedia.org/w/api.php?action=parse&page=Yahoo!&prop=text