Я использую BeautifulSoup (версия 4.4) для предварительной обработки текстового дампа Википедии с https://dumps.wikimedia.org/enwiki/ для дальнейшего анализа.
Документ textdump содержит несколько статей, каждая из которых содержится в теге <page>
.
К сожалению, что-то в структуре документа кажется несовместимым с BeautifulSoup: внутри каждого <page>
текст статьи содержится в блоке <text>
:
<text xml:space="preserve">...</text>
После того как я выбрал определенный блок <page>
, я смогу получить доступ к содержимому текстового блока как page.text.string
.
В BeautifulSoup .text
раньше использовалось для зарезервированного содержимого тега в скобках. В более поздних версиях для этого используется .string
.
К сожалению, похоже, что page.text
по-прежнему интерпретируется так же, как page.string
для обратной совместимости. (Изменить: getattr(page, "text")
делает то же самое.)
Можно ли как-нибудь обойти это и получить доступ к тегу HTML с именем <text>
?
(Редактировать: пример синтаксиса см. https://pastebin.com/WQvJn0gf.)