我在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,没有其他选项。
答案 0 :(得分:0)
如有疑问,请自行修补。 :O)
mw-buildcdb现在采用--ignore-redirects命令行选项:https://github.com/pediapress/mwlib/commit/f9198fa8288faf4893b25a6b1644e4997a8ff9b2