Есть ли парсер / способ, доступный для парсера файлов дампа Википедии с использованием Python? - PullRequest
6 голосов
/ 19 марта 2009

У меня есть проект, в котором я собираю все статьи Википедии, относящиеся к определенной категории, извлекаю дамп из Википедии и помещаю его в нашу базу данных.

Так что мне нужно разобрать файл дампа Википедии, чтобы все было сделано. Есть ли у нас эффективный парсер для этой работы? Я разработчик Python. Поэтому я предпочитаю любой парсер в python. Если не предложите один, и я постараюсь написать его порт на python и добавить его в Интернет, чтобы другие люди использовали его или, по крайней мере, попробовали.

Итак, все, что мне нужно, - это анализатор python для анализа файлов дампа Википедии. Я начал писать ручной синтаксический анализатор, который анализирует каждый узел и выполняет работу.

Ответы [ 5 ]

3 голосов
/ 19 марта 2009

Пример кода для того же самого в http://jjinux.blogspot.com/2009/01/python-parsing-wikipedia-dumps-using.html

1 голос
/ 29 мая 2009

Еще один хороший модуль - mwlib из здесь - установка с любыми зависимостями (по крайней мере, в Windows) - боль, но он работает хорошо.

1 голос
/ 19 марта 2009

Я не знаю о лицензировании, но это реализовано на python и включает в себя источник.

0 голосов
/ 07 апреля 2017

Я настоятельно рекомендую mwxml . Это утилита для разбора дампов Викимедиа, написанная Аароном Халфакером , ученым из фонда Викимедиа. Может быть установлен с

pip install mwxml

Использование довольно интуитивно понятно, как показывает этот пример из документации :

>>> import mwxml

>>> dump = mwxml.Dump.from_file(open("dump.xml"))

>>> print(dump.site_info.name, dump.site_info.dbname)
Wikipedia enwiki

>>> for page in dump:
...     for revision in page:
...        print(revision.id)
...
1
2
3

Это часть большого набора утилит для анализа данных , выпущенных Фондом Викимедиа и его сообществом.

0 голосов
/ 29 января 2015

Wiki Parser - очень быстрый парсер для файлов дампа Википедии (~ 2 часа, чтобы проанализировать все 55 ГБ английской Википедии). Он создает XML, который сохраняет как контент, так и структуру статьи.

Затем вы можете использовать python для выполнения всего, что вы хотите, с выводом XML.

...