Игнорировать Википедию Перенаправляет с mwlib - PullRequest
0 голосов
/ 28 февраля 2012

Я использую mwlib в Python для перебора дампа из Википедии.Я хочу игнорировать перенаправления и просто смотреть на содержимое страницы с фактическим полным заголовком.Я уже запустил 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(), по-видимому, не содержит «истинного» заголовка для проверки.

Кто-нибудь знает, как это сделать?Нужно ли запускать mw-buildcdb таким образом, чтобы не хранить перенаправления?Насколько я могу судить, эта команда просто берет входной файл дампа и выходной CDB, без других опций.

1 Ответ

0 голосов
/ 27 марта 2012

Если сомневаешься, исправь сам. : О)

mw-buildcdb теперь принимает параметр командной строки --ignore-redirects: https://github.com/pediapress/mwlib/commit/f9198fa8288faf4893b25a6b1644e4997a8ff9b2

...