Python переопределяемых функций из HTMLParser - PullRequest
1 голос
/ 16 января 2020

Я понимаю, как использовать handle_starttag из HTMLParser, но я очень запутался, как он работает под капотом.

https://docs.python.org/3/library/html.parser.html#example - html -parser-application

do c говорит, что нужно переопределить этот метод handle_starttag, и он действительно работает, как и ожидалось.

Однако, когда я проверяю определение в родительском классе (HTMLParser), определение является ничем иным, как «проходом» ".

Так как работает handle_starttag? Как Python знает, что тег - это тег, а атрибуты - это атрибуты, если родительское определение пусто? С удовольствием уточню, если мой вопрос неясен. заранее спасибо.

1 Ответ

1 голос
/ 16 января 2020

По умолчанию handle_starttag не ничего не делает. Это только там, чтобы быть переопределенным. Знание тега и атрибута - не работа handle_starttag; это работа другого кода. Ничего - это задание по умолчанию handle_starttag.

Вызов handle_starttag - это способ HTMLParser спрашивать подклассы: «Эй, ты хочешь что-нибудь сделать с этим запуском? тег я только что разобрал "? Переопределенный handle_starttag - это способ ответа подкласса "да, спасибо, я сделаю то же самое, что и с начальными тегами". Если он не переопределен, он ничего не делает. В любом случае, после того, как он вызван, разбор просто продолжается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...