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 Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page