Parsley extraction library using lxml
Parslepy lets you extract content from HTML and XML documents where extraction rules are defined using a JSON object or equivalent Python dict, where keys are names you want to assign to extracted content, and values are CSS selectors or XPath expressions.
Parslepy is an implementation of the Parsley extraction language defined here, using lxml and cssselect.
You can nest objects, generate list of objects, and (to a certain extent) mix CSS and XPath.
Parslepy uderstands what lxml and cssselect understand, which is roughly CSS3 selectors and XPath 1.0 expressions.