【问题标题】:obtain current status of Wikipedia articles?获取维基百科文章的当前状态?
【发布时间】:2012-03-19 06:05:46
【问题描述】:

我正在使用 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))

但不幸的是,loc 给出了currentstatus 的第一次出现,而不是最后一次出现,因为最新/最新状态位于底部,所以不是很“当前”。

我不确定如何解决它,或者我是否使用了正确的方法。

【问题讨论】:

  • 您使用的是什么 SQL API?数据从何而来?即使您只是给出currentstatus 字段的格式,我相信有人可以帮助您。
  • 数据库字段old_text的格式是什么?
  • 我使用特殊导出来下载文章,然后将其导入到 mediawiki 数据库中,我正在使用 mysqldb(mysql 的 python 模块)来查询 mediawiki。 old_text 是一个blob,当前状态格式可以在en.wikipedia.org/wiki/Template:ArticleHistory查看

标签: python mysql wikipedia milestone


【解决方案1】:

对于维基百科,更重要的是检查文章所在的类别。或者如果处理原始维基文本,则查找相应的模板:

  • 特色文章 (FA) 在 [[category:Featured article]] 中并使用 {{featured article}},它引用了 [[template:featured article]]
  • 好文章 (GA) 在 [[category:Good article]] 中并使用 {{good article}},它引用了 [[template:good article]]

这两个类别都是隐藏的,因此您必须启用显示隐藏类别的首选项,或者遍历类别内容以查看文章是否存在。

其他文章类别(A、B、C、FL、Start、Stub、List、未定义)使用一个或多个维基专题模板在相应的讨论页上进行评估。没有标准。

【讨论】:

    猜你喜欢
    • 2010-12-06
    • 1970-01-01
    • 1970-01-01
    • 2011-02-03
    • 1970-01-01
    • 1970-01-01
    • 2012-01-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多