2011-07-06 62 views
1

我正在使用Python和MySQL查询mediawiki数据库以获取文章的当前状态(即文章是否为FA,GA,GAN等),但一直未能这样做。获取维基百科文章的当前状态?

我知道当前状态存储在文本表的old_text字段中。我想是这样的:

loc = select (locate('currentstatus', old_text)) 
query = ('select substring(old_text, '%s', 20) from wikidb where page_id = 1234' % (loc)) 

可惜禄给出了currentstatus第一次出现,而不是最后的这是不是很“当前”,因为最新/最新状态是在底部。

我不知道如何解决它,或者如果我使用正确的方法。

+0

您使用的是什么SQL API?数据来自哪里?即使你只是给出'currentstatus'字段的格式,我相信有人可以帮助你。 –

+0

数据库字段'old_text'的格式是什么? –

+0

我用特殊导出来下载文章,然后导入到mediawiki数据库中,我使用mysqldb(用于mysql的python模块)来查询mediawiki。 old_text是一个blob,currentstatus格式可以在http://en.wikipedia.org/wiki/Template:ArticleHistory查看 – hopeful

回答

0

维基百科,这将是更重要的是检查类的文章是在或者,如果处理原始wiki文字,寻找相应的模板:

  • 精选文章(FA)在[好的文章(GA)在[[category:Good articles]]中,并且使用{{good article}],并使用{{featured article}},其中引用了[[template:特色文章]]
  • },其中引用[[模板:好文章]]

这两只猫例如隐藏,所以你必须启用显示隐藏类别的偏好,或者遍历类别内容以查看文章是否在那里。

使用一个或多个WikiProject模板在相应的谈话页面上评估其他文章类(A,B,C,FL,开始,存根,列表,未定义)。没有标准。

相关问题