Skip to main content

Python bindings to html5ever

Project description

htmlpyever is a very single-minded binding to html5ever. You can:

  • Feed the parser:

    parser.feed(b'hOI wURLD!')
    
  • Get a callback when the parser encounters a closing script tag:

    def script_callback(script):
        # handle script
    parser = htmlpyever.Parser(script_callback)
    
    # or
    
    class MyParser(htmlpyever.Parser):
        def run_script(self, script)
            # handle script
    parser = MyParser()
    
  • Obtain the result as an LXML Element or ElementTree:

    from lxml import etree
    etree.tostring(parser.root)
    # >>> '<html><head/><body>hOI! wURLD!</body></html>'
    etree.tostring(parser.root)
    # >>> '<html><head/><body>hOI! wURLD!</body></html>'
    # not sure why the doctype doesn't show up in the serialized ElementTree
    

That’s it.

Project details


Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page