There is only one truth. It is the source.
March 30, 2013
Tags: html validation, python, validator.nu
Follow instructions at https://github.com/w3c/validators to install and run Validator.nu.
Use it from Python:
import requests # url = 'http://validator.nu/' url = 'http://localhost:8888/nu/' text = """ <!DOCTYPE html> <html> <head> <title></title> </head> <body> <p></p> <dl><dt></dt></dl> </body> </html> """ r = requests.post(url, params={'level': 'error','showsource': 'yes', 'out': 'json', 'parser': 'html'}, data=text, headers={'content-type': 'text/html; charset=utf-8'}) # r.json is # {u'messages': [{u'extract': u'><dt></dt></dl>\n</bod', # u'firstColumn': 14, # u'hiliteLength': 5, # u'hiliteStart': 10, # u'lastColumn': 18, # u'lastLine': 9, # u'message': u'Element \u201cdl\u201d is missing a required instance of child element \u201cdd\u201d.', # u'type': u'error'}], # u'source': {u'code': u'\n<!DOCTYPE html>\n<html>\n<head>\n<title></title>\n</head>\n<body>\n<p></p>\n<dl><dt></dt></dl>\n</body>\n</html>', # u'encoding': u'UTF-8', # u'type': u'text/html'}}