An offline HTML validator in Python, using the standard v.Nu Html Validator.
Source at GitHub. Docs at PythonHosted.org.
Install html_validator via pip:
pip install html_validator
In addition you'll need to have Java installed on your machine and Java path properly set (so you can execute jar files from shell / cmd prompt).
html_validator
provide a single function, validate
, which receive an HTML file path or a list of HTML files and validate them:
from html_validator import validate
errors = validate("test.html")
for err in errors:
print("Type: %s, File: %s, Line: %d, Description: %s" % (err.type, err.file, err.line, err.description))
Example output:
Type: error, File: test.html, Line: 18, Description: Stray end tag "dv".
Type: error, File: test.html, Line: 15, Description: End tag for "body" seen, but there were unclosed elements.
There's not much magic here, this package just invokes a pre-compiled vnu.jar
file from Python and parse its output (eg break it into nice Python objects).
From html_validator
root dir:
cd tests
python test_all.py
Note that the tests are not included in the pypi package, so to run them please clone the git repository from GitHub.
For bugs please use GitHub issues. For other matters feel free to contact me at ronenness@gmail.com.