3 öLÖjçI ã @ s¼ d dl Z d dlZd dlZd dlmZ dgZe jdƒZe jdƒZe jdƒZ e jdƒZ e jdƒZe jd ƒZe jd ƒZ e jdƒZe jdƒZe jd e jƒZe jd ƒZe jdƒZG dd„ dejƒZdS )é 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 comma )?(?:\s|/(?!>))* )* )? \s* # trailing whitespace z#\s*([a-zA-Z][-.a-zA-Z0-9:_]*)\s*>c @ sä e Zd Zd9Zddœdd„Zdd„ Zd d „ Zdd„ Zd Zdd„ Z dd„ Z dd„ Zdd„ Zdd„ Z d:dd„Zdd„ Zdd„ Zdd „ Zd!d"„ Zd#d$„ Zd%d&„ Zd'd(„ Zd)d*„ Zd+d,„ Zd-d.„ Zd/d0„ Zd1d2„ Zd3d4„ Zd5d6„ Zd7d8„ Zd S );r ÚscriptÚstyleT)Úconvert_charrefsc C s || _ | jƒ d S )N)r Úreset)Úselfr © r ú#/usr/lib64/python3.6/html/parser.pyÚ__init__W s zHTMLParser.__init__c C s: d| _ d| _t| _d | _g | _d| _d| _tj j | ƒ d S )NÚ z???r é )ÚrawdataÚlasttagÚinteresting_normalÚinterestingÚ cdata_elemÚ_pendingÚ_pending_lenÚ_parse_thresholdÚ_markupbaseÚ ParserBaser )r r r r r ` s zHTMLParser.resetc C s® | j t|ƒ7 _ | j | jk r,| jj|ƒ n~| jsB| j|7 _n,| jj|ƒ | jdj| jƒ7 _| jjƒ d| _ t| jƒ}| jdƒ t| jƒ|k ržd| _nt| jƒ| _d S )Nr r r ) r Úlenr r Úappendr ÚjoinÚclearÚgoahead)r ÚdataÚnr r r Úfeedk s zHTMLParser.feedc C s: | j r,| jdj| j ƒ7 _| j jƒ d| _| jdƒ d S )Nr r r )r r r r r r )r r r r Úclose‰ s zHTMLParser.closeNc C s | j S )N)Ú_HTMLParser__starttag_text)r r r r Úget_starttag_text“ s zHTMLParser.get_starttag_textc C s$ |j ƒ | _tjd| j tjƒ| _d S )Nz\s*%s\s*>)Úlowerr ÚreÚcompileÚIr )r Úelemr r r Úset_cdata_mode— s zHTMLParser.set_cdata_modec C s t | _d | _d S )N)r r r )r r r r Úclear_cdata_mode› s zHTMLParser.clear_cdata_modec C sL | j }d}t|ƒ}�xÂ||k �rÖ| jr|| j r||jd|ƒ}|dk r¤|jdt||d ƒƒ}|dkrvtjdƒj ||ƒ rvP |}n(| j j ||ƒ}|r˜|jƒ }n| jr P |}||k rä| jrÒ| j rÒ| jt |||… ƒƒ n| j|||… ƒ | j||ƒ}||krúP |j}|d|ƒ�rLtj||ƒ�r&| j|ƒ} n„|d|ƒ�r>| j|ƒ} nl|d|ƒ�rV| j|ƒ} nT|d|ƒ�rn| j|ƒ} n<|d |ƒ�r†| j|ƒ} n$|d |k �r¨| jdƒ |d } nP | dk �r>|�s¼P |jd|d ƒ} | dk �rú|jd|d ƒ} | dk �r|d } n| d 7 } | j�r,| j �r,| jt ||| … ƒƒ n| j||| … ƒ | j|| ƒ}q|d|ƒ�rðtj||ƒ}|�r´|jƒ d d… } | j| ƒ |jƒ } |d| d ƒ�s¤| d } | j|| ƒ}qn:d||d … k�rì| j|||d … ƒ | j||d ƒ}P q|d|ƒrtj||ƒ}|�rN|jd ƒ} | j| ƒ |jƒ } |d| d ƒ�s@| d } | j|| ƒ}qtj||ƒ}|�r¦|�r¢|jƒ ||d … k�r¢|jƒ } | |k�r’|} | j||d ƒ}P n,|d |k �rÐ| jdƒ | j||d ƒ}nP qqW |�r:||k �r:| j �r:| j�r| j �r| jt |||… ƒƒ n| j|||… ƒ | j||ƒ}||d … | _ d S )Nr ú<ú&é" z[\s;]z