Я нашел эту версию на wikiextractor, которая содержит возможность фильтрации категорий с помощью файла .txt:
https://github.com/sandertan/wikiextractor/. Это отлично работает для голландской вики, я использовал эту команду:
Код: Выделить всё
python -m wikiextractor.WikiExtractor ../nlwiki-latest-pages-articles.xml.bz2 \
--filter_category ../categories.txt \
-o out --json --html
Файл .txt содержит нидерландские медицинские категории, созданные с помощью
https://petscan.wmflabs.org. Теперь я создал аналогичный файл .txt с английскими терминами, который выглядит следующим образом:
Код: Выделить всё
HIV/AIDS by region
Emergency medical responders
Breast cancer
Я также скачал enwiki-latest-pages-articles.xml.bz2. Мне кажется, что я делаю то же самое, что и для голландской вики. Но это занимает очень много времени и дает 0 результатов, даже если я занимаюсь гораздо большим количеством категорий. Он работает, если я полностью оставляю параметр --filter_category.
Не отформатирована ли английская вики по-другому, из-за чего этот фильтр не работает? Есть ли другой способ получать только страницы, связанные с медициной?
Подробнее здесь:
https://stackoverflow.com/questions/798 ... categories