处理维基百科的“ 历史页面 ”

在CoMeRe处理维基百科的页面的时候,由于每一个页面上有一个“历史页面”, 这里包括了这个页面的所有编辑的历史记录,因此整理并分析编辑记录,这里是一个很好的开始。

在CoMeRe处理维基百科的页面的时候,由于每一个页面上有一个“历史页面”, 这里包括了这个页面的所有编辑的历史记录,因此整理并分析编辑记录,这里是一个很好的开始。

对这个页面整体的处理思路是先通过HTML分析全文本,找出历史编辑的列表,并对每条编辑记录进行分析和处理,最后每条记录得出:

  • 条目的ID
  • 日期
  • 作者名
  • 版本的文本长度
  • 相对前面一个版本,文本长度变化的数量
  • 评论
  • 是否属于“小量编辑”

代码pagehistory.py负责进行这个的处理,需要注意的是,在匹配Wikipedia日期的时候,Python程序需要设置本地格式, 在Ubuntu下使用下面命令查看本地支持的语言:

locale -a

链接:https://github.com/KunFly/wiki

定了两个类:

PageHistory和Revision

PageHistory

  • get_revisions(), 返回所有的revision

Revision

每一个revision包括一下属性:

  • id, 版本ID
  • date(), 版本日期
  • author(), 版本作者
  • size(), 版本大小
  • change_size(), 相对前一个版本,修改的数量大小
  • comment(), 修改的注释
  • minoredit(),是否是“小量修改“

每一个属性都可以找到相对应的方法:

  • get_id()
  • get_date()
  • get_author()
  • get_size()
  • get_change_size()
  • get_comment()
  • get_minoredit()