【发布时间】:2014-12-04 11:57:13
【问题描述】:
有没有办法通过 MediaWiki API 获取给定页面标题的讨论页面标题?
我知道我可以使用prop=info 获取talkid。但问题是对于尚不存在的讨论页没有 pageid。还有一些明显的方法可以通过在主题标题上添加前缀来获取讨论页标题,但在我看来,它们都依赖于语言/设置......
【问题讨论】:
-
即使 wiki 使用不同的语言,也始终可以使用英语。例如,即使 Talk 在希伯来语中被称为 שיחה,此 URL 也会将您带到 Stack Overflow 的讨论页面:he.wikipedia.org/wiki/Talk:StackOverflow
-
@Ainali 假设标题是
תבנית:ש。在某些 wiki 中它可能是一篇文章,在另一些中它可能是一个模板,即תבנית:部分表示模板命名空间。在前一种情况下,我需要在标题前加上talk:,在后一种情况下,我必须用template talk:替换תבנית:。问题是我不知道什么是合适的前缀。即使我使用 API 获取命名空间编号,也可能有一些 custom namespaces 使用我不知道的用户定义前缀。 -
所以,给定一个可能不存在的标题,您想知道讨论页会是什么不知道?然后我会从 API 中获取所有命名空间的列表:mediawiki.org/w/…,并在那里查看我的前缀。讨论页命名空间将在 NS+1
-
@leo 谢谢!我不知道
action=query&meta=siteinfo&siprop=namespaces。这回答了我的问题。如果您将此评论作为答案重新发布,我很乐意将其选为已接受的答案。