Old Python versions need an external HTML parser.

We choose lxml.

This might make things not work on the Warrior; going to find that one
out.