HTML-синтаксический анализатор — это инструмент обработки структурированной разметки. Он определяет класс под названием HTMLParser, который используется для анализа файлов HTML. Он пригодится для сканирования в Интернете.
Методы
-
HTMLParser.feed (data)
: используется для ввода данных в анализатор HTML. -
HTMLParser.handle_starttag (tag, attrs)
: используется для обработки начальных тегов в HTML. Параметрtag
содержит открывающий тег, а параметрattrs
содержит атрибут этого тега. -
HTMLParser.handle_endtag (tag, attrs)
: используется для обработки конечных тегов в HTML. Параметрtag
содержит закрывающий тег, а параметрattrs
содержит атрибут этого тега. -
HTMLParser.handle_data (data)
: используется для обработки данных, содержащихся между тегами HTML. -
HTMLParser.handle_comment (data)
: используется для обработки комментариев HTML.
Пример
Функции HTMLParser будут переопределены, чтобы обеспечить желаемую функциональность. Обратите внимание, что класс Parser ()
наследуется от класса HTMLParser
.
из html.parser import HTMLParserclass Parser (HTMLParser): # метод добавления начального тега к список start_tags. def handle_starttag (self, tag, attrs): global start_tags start_tags.append (tag) # метод для добавления конечного тега в список end_tags. def handle_endtag (self, tag): global end_tags end_tags.append (tag) # метод для добавления данных между тегами в список all_data. def handle_data (self, data): global all_data all_data.append (data) # метод для добавления комментария к списку комментариев. def handle_comment (self, data): global comments comments.append (data) start_tags = [] end_tags = [] all_data = [] comments = [] # Создание экземпляра нашего class.parser = Parser () # Перенос ввода. parser.feed ('Desserts ' 'Я фанат замороженного йогурта.
') print ("start tags:", start_tags) print ("end tags:", end_tags) print ("data : ", all_data) print (" комментарии ", комментарии)Чтобы узнать больше, обратитесь к официальной документации.