Экспортировать Википедию по категориям?


Я знаю, что могу полностью загрузить Википедию. Но интересно, есть ли способ загрузить его по категориям? У них есть специальная страница экспорта , но написание категории (например, культура) добавляет дочерние страницы и другую кучу категорий, поэтому попытка получить все страницы в культуре займет "вечность", потому что, когда вы отправляете другую подкатегорию культуры, появляется другая. Ребята, вы знаете какой-нибудь другой способ экспортировать его по категориям? (простым способом)

2 3

2 ответа:

Я не думаю, что есть какой-то другой простой способ сделать это.

Я думаю, что лучше всего загрузить файл дампа всех статей (pages-articles, в настоящее время 7,5 ГБ для английской Википедии) и отфильтровать их по категориям, возможно, используя дамп членства в категории (categorylinks, 1 ГБ).

Другой вариант-сделать что-то похожее на то, что вы сделали бы с помощью Special:экспортировать вручную, но автоматизировать его с помощью API.

Используя MediaWiki API , Вы можете получить викитекст всех страниц в категории с помощью list=categorymembers как генератор для a prop=revisions запрос, например:

Http://en.wikipedia.org/w/api.php?action=query&generator=categorymembers&gcmtitle=Category:Culture&gcmnamespace=0&prop=revisions&rvprop=content

Эта ссылка на пример дает содержание первых 10 статей в категории: культура в Википедии. Вы можете добавьте параметр gcmlimit=max, чтобы получить больше страниц, но для больших категорий вам нужно будет правильно обрабатывать продолжения запросов (или использовать клиент MediaWiki API, который обрабатывает их для вас).

(однако этот запрос не будет показывать страницы в подкатегориях категории:Культура. Если они вам тоже нужны, вы можете получить список страници подкатегорий в категории с помощью простого запроса categorymembers Без cmnamespace и рекурсивно просмотреть результаты, чтобы собрать список названия статей для экспорта. Если вы сделаете это, будьте осторожны, чтобы не попасть в какие - либо циклы категорий, и предпочтительно сделайте проверку вменяемости результатов перед экспортом страниц-это очень легко получить путь больше страниц, чем вы ожидали от полного обхода подкатегории.)