【发布时间】:2011-11-17 00:32:45
【问题描述】:
有人知道如何访问页面内的模板正文吗?
我熟悉返回所有存在的模板列表的 API on the page,但我如何才能访问模板的主体?有没有这方面的API?现在我只看到一种可能的方法......手动解析它。我错了吗?
【问题讨论】:
有人知道如何访问页面内的模板正文吗?
我熟悉返回所有存在的模板列表的 API on the page,但我如何才能访问模板的主体?有没有这方面的API?现在我只看到一种可能的方法......手动解析它。我错了吗?
【问题讨论】:
您可以使用expandtemplates API 调用,或rvexpandtemplates 参数用于revisions API 调用。
【讨论】:
generatexml=1 调用时,将wikitext 转换为一个XML 树,其中每个模板参数都是一个单独的叶子。
expandtemplates 为您提供在 wiki 页面上看到的渲染 (X)HTML,而 revisions 方法本质上是对模板的直接解析。在这两种情况下,输出都会根据请求的format 进行转义。
这是一个老问题,但它帮助我弄清楚了如何获取扩展模板宏的 mediawiki 页面。如果您正在进行转换,这非常有用。
<MW_BASEURL>/api.php?action=query&prop=revisions
&titles=<url_encoded_page_title>&format=xml&rvprop=content&rvexpandtemplates
我正在解析从此查询返回的 xml 以获取展开的页面。
【讨论】: