Экспортировать Википедию по категориям?
Я знаю, что могу полностью загрузить Википедию. Но интересно, есть ли способ загрузить его по категориям? У них есть специальная страница экспорта , но написание категории (например, культура) добавляет дочерние страницы и другую кучу категорий, поэтому попытка получить все страницы в культуре займет "вечность", потому что, когда вы отправляете другую подкатегорию культуры, появляется другая. Ребята, вы знаете какой-нибудь другой способ экспортировать его по категориям? (простым способом)
2 ответа:
Я не думаю, что есть какой-то другой простой способ сделать это.
Я думаю, что лучше всего загрузить файл дампа всех статей (pages-articles
, в настоящее время 7,5 ГБ для английской Википедии) и отфильтровать их по категориям, возможно, используя дамп членства в категории (categorylinks
, 1 ГБ).Другой вариант-сделать что-то похожее на то, что вы сделали бы с помощью Special:экспортировать вручную, но автоматизировать его с помощью API.
Используя MediaWiki API , Вы можете получить викитекст всех страниц в категории с помощью
list=categorymembers
как генератор для aprop=revisions
запрос, например:Эта ссылка на пример дает содержание первых 10 статей в категории: культура в Википедии. Вы можете добавьте параметрgcmlimit=max
, чтобы получить больше страниц, но для больших категорий вам нужно будет правильно обрабатывать продолжения запросов (или использовать клиент MediaWiki API, который обрабатывает их для вас).(однако этот запрос не будет показывать страницы в подкатегориях категории:Культура. Если они вам тоже нужны, вы можете получить список страници подкатегорий в категории с помощью простого запроса
categorymembers
Безcmnamespace
и рекурсивно просмотреть результаты, чтобы собрать список названия статей для экспорта. Если вы сделаете это, будьте осторожны, чтобы не попасть в какие - либо циклы категорий, и предпочтительно сделайте проверку вменяемости результатов перед экспортом страниц-это очень легко получить путь больше страниц, чем вы ожидали от полного обхода подкатегории.)