欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python爬虫中使用lxml解析本地HTML文件报错lxml.etree.XMLSyntaxError: Opening and ending tag mismatch.....

程序员文章站 2022-05-09 21:16:57
...

问题描述

使用lxml.etree.parse()解析html文件,该方法默认使用的是“XML”解析器,所以如果碰到不规范的html文件时就会解析错误,报错代码如下:

lxml.etree.XMLSyntaxError: Opening and ending tag mismatch: meta line 4 and column 

问题解决

自己创建html解析器,增加parser参数

from lxml import etree

parser = etree.HTMLParser(encoding="utf-8")
tree = etree.parse("test.html", parser=parser)
r_list = tree.xpath('/html/head/title')