Skip to content

Pass LXML object straight to readability? #140

Open

Description

@adbar

As of now only strings containing HTML seem to be acceptable input.

Is there a way to pass an object parsed by LXML or lxml.html (types: etree._ElementTree and html.HtmlElement) straight to Document() or should we create one?

Activity

  1. buriy commented on Feb 18, 2020

    @buriy
    Owner

    The library changes the lxml document internally, that's why I would avoid that in a public version.
    When you're warned, you can now subclass Document and replace _parse method the behavior you need, e.g.

        def _parse(self, input):
            return input
    

    or

        def _parse(self, input):
            return convert_and_deepcopy(input)
    

    Then just use
    doc = Document(your_tree)

    You can also make a PR which does that --checks for an input type and makes a copy of lxml document passed if it's an lxml document (or an etree document).

  2. adbar commented on Feb 19, 2020

    @adbar
    Author

    Thanks for the answer, I added a bypass to PR #138

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions