python - Python 中的 HTML 标签验证

标签 python html python-3.x validation

我想验证 HTML 标记以确定它是否是有效的 HTML。

我尝试了以下代码。

 def must_have_proper_htmltag(self,filename):
        """

        :param filename:
        :return:
        """
        print(filename)
        return bool(BeautifulSoup(filename, 'html.parser').find())

        '''Beautiful soup is library function to pull HTML or XML
           html.parser is for choosing html doc and find() for
           checking occuranc'''
`htmltags='<html><head><title>Test</title></head>''<body><h1>Parse me!</h1>
 </body></html>'
nohtmltag = '<html><head><title>Test</title></head>''<body><h1>Parse me!'
print('html checkers:-',qc.must_have_proper_htmltag(htmltag))
print('html checkers:-',qc.must_have_proper_htmltag(nohtmltag))

该函数检查是否有HTML标签。它不验证HTML标签是否正确。

如何验证 HTML 标记?我想要输出 HTML 标签一个是 True 另一个是 False

最佳答案

您可以使用 w3c 验证器对其进行验证

from py_w3c.validators.html.validator import HTMLValidator

def must_have_proper_htmltag(self,filename):
    """

    :param filename:
    :return:
    """
    print(filename)
    html_validator = HTMLValidator()
    html_validator.validate_fragment(filename)
    if not html_validator.errors:
        '''Where there is no error it return empty list'''
        return True
    else:
        return False

print('html checkers:-',qc.must_have_proper_htmltag('<!DOCTYPE html><html>
<head><title>Test</title></head>''<body><h1>Parse me!</h1></body></html>'))

关于python - Python 中的 HTML 标签验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47989711/

相关文章:

python - 绘制 Pandas 系列时遇到问题

Python - 在单独的子进程或线程中运行 Autobahn|Python asyncio websocket 服务器

html - <br> 在 Bootstrap 中不换行

python - 在模块导入时,打印出有用的语句

python - 使用双下划线按类名定位元素

python - 如何对一堆字符串的元素进行分组

html - 如何将 textarea 字段与 html 表单中文本框字段的宽度对齐?

jquery - JavaScript 中的 CSS 组合器

python - Visual Studio Code 智能感知不显示修饰函数的参数

python - 将包含一项的列表转换为字典值中的项本身