Origami.

htmlDom(html)

This parses the given HTML text into a DOM structure. A common use for doing this is to scrape content from a downloaded HTML file.

Given the following HTML file, adams.html:

<p>
  A learning experience is one of those things that say,
  <i>“You know that thing you just did? Don't do that.”</i>
  –Douglas Adams, <cite>The Salmon of Doubt</cite>
</p>

You can directly extract content from this file using DOM methods:

$ ori "Origami.htmlDom(adams.html).querySelector('cite').textContent"
The Salmon of Doubt

See also Origami.domObject for converting DOM to a plain JavaScript object, or Origami.xmlDom for parsing XML documents.