Warning: session_start(): Session cannot be started after headers have already been sent in /home/tvrreohg/public_html/manga.php on line 13
3 6]3@sdZdgZddlmZyddlmZWn2ek rXZzGdddeZWYddZ[XnXddlZddl Z ej dd\Z Z Z e dkoe d koe dkZe dkoe dkZe dkoe d kZdd lmZmZmZmZmZdd lmZmZdd lmZmZmZdZGdddeZGdddeZ e dkre d kre rddl!Z!e!j"dZ#e#e _#e!j"de!j$Z%e%e_%ddlm&Z&m'Z'ddZ(ddZ)e(e_(e)e_)dZdS)zCUse the HTMLParser library to parse HTML files that aren't too bad.HTMLParserTreeBuilder) HTMLParser)HTMLParseErrorc@s eZdZdS)rN)__name__ __module__ __qualname__rr!/usr/lib/python3.6/_htmlparser.pyrsrN)CDataComment DeclarationDoctypeProcessingInstruction)EntitySubstitution UnicodeDammit)HTMLHTMLTreeBuilderSTRICTz html.parserc@speZdZddZddZddZddd Zdd d Zd d ZddZ ddZ ddZ ddZ ddZ ddZdS)BeautifulSoupHTMLParsercOstj|f||g|_dS)N)r__init__already_closed_empty_element)selfargskwargsrrr r9s z BeautifulSoupHTMLParser.__init__cCstj|dS)aiIn Python 3, HTMLParser subclasses must implement error(), although this requirement doesn't appear to be documented. In Python 2, HTMLParser implements error() as raising an exception. In any event, this method is called only on very strange markup and our best strategy is to pretend it didn't happen and keep going. N)warningswarn)rmsgrrr errorEs zBeautifulSoupHTMLParser.errorcCs|j||dd}|j|dS)NF)handle_empty_element)handle_starttag handle_endtag)rnameattrstagrrr handle_startendtagPsz*BeautifulSoupHTMLParser.handle_startendtagTc Csli}x(|D] \}}|dkrd}|||<d}q W|jj|dd|}|rh|jrh|rh|j|dd|jj|dS)Nz""F)check_already_closed)soupr"Zis_empty_elementr#rappend) rr$r%r!Z attr_dictkeyvalue attrvaluer&rrr r"[s z'BeautifulSoupHTMLParser.handle_starttagcCs,|r||jkr|jj|n |jj|dS)N)rremover*r#)rr$r)rrr r#wsz%BeautifulSoupHTMLParser.handle_endtagcCs|jj|dS)N)r* handle_data)rdatarrr r0sz#BeautifulSoupHTMLParser.handle_datacCs|jdrt|jdd}n$|jdr8t|jdd}nt|}d}|dkrxR|jjdfD]B}|sdqZyt|gj|}WqZtk r}zWYdd}~XqZXqZW|sy t|}Wn&t t fk r}zWYdd}~XnX|pd}|j |dS)NxXz windows-1252u�) startswithintlstripr*original_encoding bytearraydecodeUnicodeDecodeErrorchr ValueError OverflowErrorr0)rr$Z real_namer1encodingerrr handle_charrefs*   z&BeautifulSoupHTMLParser.handle_charrefcCs0tjj|}|dk r|}nd|}|j|dS)Nz&%s)rZHTML_ENTITY_TO_CHARACTERgetr0)rr$ characterr1rrr handle_entityrefs  z(BeautifulSoupHTMLParser.handle_entityrefcCs&|jj|jj||jjtdS)N)r*endDatar0r)rr1rrr handle_comments  z&BeautifulSoupHTMLParser.handle_commentcCsN|jj|jdr&|tdd}n |dkr2d}|jj||jjtdS)NzDOCTYPE ZDOCTYPEr()r*rFr6lenr0r)rr1rrr handle_decls   z#BeautifulSoupHTMLParser.handle_declcCsN|jjdr$t}|tdd}nt}|jj|jj||jj|dS)NzCDATA[)upperr6r rHrr*rFr0)rr1clsrrr unknown_decls  z$BeautifulSoupHTMLParser.unknown_declcCs&|jj|jj||jjtdS)N)r*rFr0r)rr1rrr handle_pis  z!BeautifulSoupHTMLParser.handle_piN)T)T)rrrrr r'r"r#r0rBrErGrIrLrMrrrr r7s    !   rc@s<eZdZdZdZeZeeegZ ddZ d ddZ dd Z dS) rFTcOs,trt rd|d<trd|d<||f|_dS)NFstrictZconvert_charrefs)CONSTRUCTOR_TAKES_STRICT CONSTRUCTOR_STRICT_IS_DEPRECATED"CONSTRUCTOR_TAKES_CONVERT_CHARREFS parser_args)rrrrrr rs  zHTMLParserTreeBuilder.__init__NccsNt|tr|dddfVdS||g}t||d|d}|j|j|j|jfVdS)z :return: A 4-tuple (markup, original encoding, encoding declared within markup, whether any characters had to be replaced with REPLACEMENT CHARACTER). NFT)Zis_htmlexclude_encodings) isinstancestrrmarkupr9Zdeclared_html_encodingZcontains_replacement_characters)rrVZuser_specified_encodingZdocument_declared_encodingrSZ try_encodingsZdammitrrr prepare_markups z$HTMLParserTreeBuilder.prepare_markupcCsr|j\}}t||}|j|_y|j||jWn4tk rf}ztjtd|WYdd}~XnXg|_ dS)Na*Python's built-in HTMLParser cannot parse the given document. This is not a bug in Beautiful Soup. The best solution is to install an external parser (lxml or html5lib), and use Beautiful Soup with that parser. See http://www.crummy.com/software/BeautifulSoup/bs4/doc/#installing-a-parser for help.) rRrr*feedcloserrrRuntimeWarningr)rrVrrparserrArrr rXs    zHTMLParserTreeBuilder.feed)NNN) rrrZis_xmlZ picklable HTMLPARSERNAMErrZfeaturesrrWrXrrrr rs  zQ\s*((?<=[\'"\s])[^\s/>][^\s/=>]*)(\s*=+\s*(\'[^\']*\'|"[^"]*"|(?![\'"])[^>\s]*))?a <[a-zA-Z][-.a-zA-Z0-9:_]* # tag name (?:\s+ # whitespace before attribute name (?:[a-zA-Z_][-.:a-zA-Z0-9_]* # attribute name (?:\s*=\s* # value indicator (?:'[^']*' # LITA-enclosed value |\"[^\"]*\" # LIT-enclosed value |[^'\">\s]+ # bare value ) )? ) )* \s* # trailing whitespace )tagfindattrfindcCs,d|_|j|}|dkr|S|j}||||_g}tj||d}|j}||d|j|_}x||krD|jrt j||}n t j||}|sP|j ddd\} } } | sd} nb| dddko| d dkns | dddko| d dknr| dd} | r(|j | } |j | j| f|j}qhW|||j} | dkr|j\} }d |jkr| |jjd } t|j|jjd }n|t|j}|jr|jd |||dd f|j||||S| jdr|j||n"|j||||jkr(|j||S)Nrr r '">/> z junk characters in start tag: %rrgrg)rcrd)Z__starttag_textZcheck_for_whole_start_tagrawdatar^matchendlowerZlasttagrNr_attrfind_tolerantgroupZunescaper+stripZgetposcountrHrfindr r0endswithr'r"ZCDATA_CONTENT_ELEMENTSset_cdata_mode)riendposrhr%rikr&mZattrnamerestr.rjlinenooffsetrrr parse_starttagsZ   *,          rzcCs$|j|_tjd|jtj|_dS)Nz )rkZ cdata_elemrecompileIZ interesting)relemrrr rrTs rrT)*__doc____all__Z html.parserrr ImportErrorrA Exceptionsysr version_infomajorminorreleaserOrPrQZ bs4.elementr rrrrZ bs4.dammitrrZ bs4.builderrrrr\rrr{r|rlVERBOSEZlocatestarttagendr^r_rzrrrrrr sB " 2 7