当有人打开维基百科类别时,他可以看到按字母顺序组织并位于字母下方的页面(A、B、C 等)。
例如
http://en.wikipedia.org/wiki/Category:Countries_in_Europe
但也有一些相关页面位于星号 (*)、点 (.) 下方或仅位于顶部。我怎样才能只提取那些在字母下的页面?
或者可能有人可以解释这些类型的类别(在[*,.]和[A,B,C]之间)的文章代码或类别关系有什么区别......
当有人打开维基百科类别时,他可以看到按字母顺序组织并位于字母下方的页面(A、B、C 等)。
例如
http://en.wikipedia.org/wiki/Category:Countries_in_Europe
但也有一些相关页面位于星号 (*)、点 (.) 下方或仅位于顶部。我怎样才能只提取那些在字母下的页面?
或者可能有人可以解释这些类型的类别(在[*,.]和[A,B,C]之间)的文章代码或类别关系有什么区别......
在为 MediaWiki 页面分配类别时,例如南苏丹,您可以使用语法[[Category:Countries|Sudan]]
, 使其在苏丹而不是默认(南苏丹)下排序。在 Wikipedia 上,这经常用于将类别的“主页”放在类别页面的顶部,方法是添加一个排序键,如*
,-
或类似的(通常使用的字符以及主页的定义会有所不同取决于您正在查看的维基百科版本)。
当向 API 询问某个类别的成员时,使用cmsort=sortkeyprefix
对结果进行相应的排序。此外,您可以使用cmendsortkey
在某个排序键处停止,例如1
或A
。或者您可以打印出排序键,并在您身边过滤列表,使用cmprop=sortkeyprefix
:http ://en.wikipedia.org/w/api.php?action=query&list=categorymembers&cmtitle=Category:Physics&cmsort=sortkey&cmprop=sortkeyprefix|title
这在官方 MediaWiki 文档中都有很好的记录。
在上面的示例中,前五个页面有一个特殊的排序键(一个空格),以表明它们是该类别的某种主要页面。