如何通过URL区分维基百科文章?

时间:2013-04-22 22:13:15

标签: regex url mediawiki wikipedia

维基百科上有许多页面不是文章,例如如何通过URL将它们与文章区分开来?

2 个答案:

答案 0 :(得分:2)

简短的回答是你不能单独使用正则表达式。

较长的答案是MediaWiki文章被命名空间划分,命名空间又使用冒号作为标记,如“Talk:Foo”。因此,标题中没有冒号的文章绝对位于主(= content)命名空间中。问题是,带有冒号的文章可能在另一个命名空间中,content articles that happen to contain a colon,而且由于WP的命名空间列表很长而且不断变化,你不能(或者至少不应该) ')在正则表达式中对此列表进行硬编码。

因此,正确的答案是使用MediaWiki API来迭代/搜索主命名空间中的文章。

答案 1 :(得分:1)

您可以通过以下查询使用其API来获取Wikipedia名称空间及其别名列表:

http://en.wikipedia.org/w/api.php?action=query&meta=siteinfo&siprop=namespaces

然后,如果第一个冒号之前的页面标题部分与任何已知的命名空间匹配,那么它不是文章;否则就是。