Если вы откроете computer science category
в википедии (https://en.wikipedia.org/wiki/Category:Computer_science), он отображает всего 19
подкатегорий (https://en.wikipedia.org/wiki/Category:Computer_science). Теперь для всех этих 19
подкатегорий, если я хочу extract
только названия страниц (названия страниц). Например, страницы в категории Computer science
содержат 45
страниц, которые отображаются как bullets
сразу под списком подкатегорий Википедии. Теперь для всех других связанных подкатегорий, например, Areas of computer science
— это подкатегория с 3
страницами (https://en.wikipedia.org/wiki/Category:Areas_of_computer_science). Но, опять же, он имеет 17 подкатегорий (т.е. глубина 1 с учетом обхода, т.е. глубина = 1 означает, что у нас 1 глубина). Опять же, algorithm and data structures
(https://en.wikipedia.org/wiki/Category:Algorithms_and_data_structures) с 5
страницами и artificial intelligence
(https://en.wikipedia.org/wiki/Category:Artificial_intelligence), имеющий 333
страниц с некоторыми дополнительными categories
и subcategories
, объединенными в несколько страниц (см. Страницы в категории «Искусственный интеллект») с 37 категориями и 333 страницами, таким образом, этот список можно продолжить еще глубже. Теперь мы находимся на глубине 2. Что мне нужно, так это извлечь все страницы (заголовки) для обхода с глубиной 1 и глубиной 2. Существует ли какой-либо алгоритм для достижения того же?
Например: область подкатегории информатики снова имеет несколько (17) подкатегорий с общим количеством страниц 5+333+127+79+216+315+37+47+95+37+246+103+21+2 +55+113+94 страницы с учетом всех (17) подкатегорий. Это глубина 2, потому что я дважды переключил список. То же самое необходимо включить для остальных 18 подкатегорий (https://en.wikipedia.org/wiki/Category:Computer_science) с глубиной 2 для базового корня Информатика?
Существует ли способ добиться этого? Отображение и извлечение такого количества страниц сложно, потому что оно будет огромным. Таким образом, максимальный порог в 10 000 страниц будет абсолютно приемлемым.
Существует ли способ сделать это? Любая небольшая помощь приветствуется!