忽略Wikipedia使用mwlib重定向

时间:2012-02-28 16:13:27

标签: python wikipedia

我在Python中使用mwlib来迭代Wikipedia转储。我想忽略重定向,只看实际完整标题的页面内容。我已经运行了mw-buildcdb,我正在加载:

wiki_env = wiki.makewiki(wiki_conf_file)

当我循环遍历wiki_env.wiki.articles()时,字符串似乎包含重定向标题(我在针对维基百科的几个示例中检查了这一点)。我没有看到跳过这些的访问者,wiki_env.wiki.redirects是一个空字典,因此我无法检查哪些文章标题实际上只是那样重定向。

我已尝试查看mwlib代码,但如果我使用

page = wiki_env.wiki.get_page(page_title)
wiki_env.wiki.nshandler.redirect_matcher(page.rawtext)

page.rawtext似乎已经被重定向(包含整页内容,并且没有迹象表明标题不匹配)。同样,Article返回的getParsedArticle()节点似乎不包含要检查的“true”标题。

任何人都知道如何做到这一点?我是否需要以不存储重定向的方式运行mw-buildcdb?据我所知,该命令只接受输入转储文件和输出CDB,没有其他选项。

1 个答案:

答案 0 :(得分:0)

如有疑问,请自行修补。 :O)

mw-buildcdb现在采用--ignore-redirects命令行选项:https://github.com/pediapress/mwlib/commit/f9198fa8288faf4893b25a6b1644e4997a8ff9b2