python (3.12.0)
̑eB d Z ddlZddlZddlmZ dgZ ej d Z ej d Z ej d Z ej d Z
ej d Z ej d
Z ej d Z
ej d Z ej d
Z ej dej Z ej d
Z ej d Z G d dej( Zy)zA parser for HTML and XHTML. N)unescape
HTMLParserz[&<]z
&[a-zA-Z#]z%&([a-zA-Z][-.a-zA-Z0-9]*)[^a-zA-Z0-9]z)&#(?:[0-9]+|[xX][0-9a-fA-F]+)[^0-9a-fA-F]z <[a-zA-Z]>z--\s*>z+([a-zA-Z][^\t\n\r\f />\x00]*)(?:\s|/(?!>))*z]((?<=[\'"\s/])[^\s/>][^\s/=>]*)(\s*=+\s*(\'[^\']*\'|"[^"]*"|(?![\'"])[^>\s]*))?(?:\s|/(?!>))*aF
<[a-zA-Z][^\t\n\r\f />\x00]* # tag name
(?:[\s/]* # optional whitespace before attribute name
(?:(?<=['"\s/])[^\s/>][^\s/=>]* # attribute name
(?:\s*=+\s* # value indicator
(?:'[^']*' # LITA-enclosed value
|"[^"]*" # LIT-enclosed value
|(?!['"])[^>\s]* # bare value
)
\s* # possibly followed by a space
)?(?:\s|/(?!>))*
)*
)?
\s* # trailing whitespace
z#</\s*([a-zA-Z][-.a-zA-Z0-9:_]*)\s*>c e Zd ZdZdZdd fd
Z fdZd Zd Zd Z d
Z
d Zd Zd
Z
d ZddZd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z xZS )r aE Find tags and other markup and call handler functions.
Usage:
p = HTMLParser()
p.feed(data)
...
p.close()
Start tags are handled by calling self.handle_starttag() or
self.handle_startendtag(); end tags by self.handle_endtag(). The
data between tags is passed from the parser to the derived class
by calling self.handle_data() with the data as argument (the data
may be split up in arbitrary chunks). If convert_charrefs is
True the character references are converted automatically to the
corresponding Unicode character (and self.handle_data() is no
longer split in chunks), otherwise they are passed by calling
self.handle_entityref() or self.handle_charref() with the string
containing respectively the named or numeric reference as the
argument.
)scriptstyleT)convert_charrefsc P t | || _ | j y)zInitialize and reset this instance.
If convert_charrefs is True (the default), all character references
are automatically converted to the corresponding Unicode characters.
N)super__init__r reset)selfr __class__s ?/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/html/parser.pyr zHTMLParser.__init__V s! 0
c b d| _ d| _ t | _ d| _ t
| y)z1Reset this instance. Loses all unprocessed data. z???N)rawdatalasttaginteresting_normalinteresting
cdata_elemr r
)r r s r r
zHTMLParser.reset` s) -
r c N | j |z | _ | j d y)zFeed data to the parser.
Call this as often as you want, with as little or as much text
as you want (may include '\n').
r N)r goaheadr datas r feedzHTMLParser.feedh s ||d*Qr c &