Как искать в разделе Mediawiki Заголовки разных уровней? - PullRequest
0 голосов
/ 17 апреля 2020

Я использую инструмент, предназначенный для анализа XML, SAX: Простой API для XML. В этом примере ищите заголовок и текст.

import xml.sax

class WikiXmlHandler(xml.sax.handler.ContentHandler):
"""Content handler for Wiki XML data using SAX"""
def __init__(self):
    xml.sax.handler.ContentHandler.__init__(self)
    self._buffer = None
    self._values = {}
    self._current_tag = None
    self._pages = []

def characters(self, content):
    """Characters between opening and closing tags"""
    if self._current_tag:
        self._buffer.append(content)

def startElement(self, name, attrs):
    """Opening tag of element"""
    if name in ('title', 'text', 'timestamp'):
        self._current_tag = name
        self._buffer = []

def endElement(self, name):
    """Closing tag of element"""
    if name == self._current_tag:
        self._values[name] = ' '.join(self._buffer)

    if name == 'page':
        self._pages.append((self._values['title'], self._values['text']))

Но я должен искать раздел Заголовки разных уровней:

== Уровень 2 ==

=== Уровень 3 ===

==== Уровень 4 ====

===== Уровень 5 =====

====== Уровень 6 ======

вместо заголовка, и если я найду, сохраните абзац и заголовок.

Но я не знаю, как его запрограммировать, большое спасибо .

...