2012-02-28 84 views
0

我在Python中使用mwlib来遍历维基百科转储。我想忽略重定向,只看实际完整标题的页面内容。我已经运行MW-buildcdb,和我加载的是:忽略Wikipedia使用mwlib重定向

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已经被重定向(包含完整的网页内容,并没有迹象表明有标题不匹配)。同样,由getParsedArticle()返回的Article节点似乎不包含要检查的“真”标题。

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

回答