解决爬虫中lxml.etree.XMLSyntaxError问题

在使用lxml中的etree.parse()方法解析HTML页面源码的时候,可能会报错:lxml.etree.XMLSyntaxError。出现这个问题的主要原因是:html代码书写不规范,不符合xml解析器的使用规范。

解决方法

修改代码如下:

  1. 解析本地的HTML源码文件,假设其为:XX.html,根据实际更改。
parser = etree.HTMLParser(encoding="utf-8")
tree = etree.parse('XX.html', parser=parser)
  1. 解析从互联网获取的HTML源码数据。
page_text = requests.get(url, headers).text
parser = etree.HTMLParser(encoding="utf-8")
tree = etree.HTML(page_text, parser=parser)

你可能感兴趣的:(解决爬虫中lxml.etree.XMLSyntaxError问题)