python中使用lxml的parse方法解析html文件报错Opening and ending tag mismatch

使用lxml的parse方法解析本地html时,提示如下错误:

查了一下,应该是本地的html文件有错误,标签不匹配

本地html文件,内容见下图 

<!DOCTYPE html>
<html>

<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>

<body>
hello,中国
</body>
</html>

后来发现是<meta charset="UTF-8">这一行少了/符号

修改为:<meta charset="UTF-8"/>

执行就正确了。

看起来lxml的parse方法对html的格式要求非常严格啊

附上解析本地html的python代码

from lxml import html
etree = html.etree

# 获取本地html文档
html = etree.parse('hello.html')
result = etree.tostring(html, encoding='utf-8').decode()
print(result)

注:文章内容主要是记录学习过程中遇到的问题以及解决方法。留个记录,同时分享给有需要的人。如有不足之处,欢迎指正,谢谢! 

猜你喜欢

转载自blog.csdn.net/elsa_yxy1984/article/details/106813351