BeautifulSoup Python2 和 Python3 之间的 HTMLparsingError

BeautifulSoup HTMLparsingError between Python2 and Python3

我在 Python27 上 运行 一个 bs4 程序,它运行完美,我在使用 Python3 后遇到了问题。我正在为两者使用更新版本的 bs4。我正在 运行 上的文件是 html,我注意到错误在标签上。是否有我需要更新的支持模块?喜欢 lxml?

代码:

from bs4 import BeautifulSoup

data = open(directory +'\'+ file)
soup = BeautifulSoup(data, 'html.parser')

这是错误:

...
File "C:\Anaconda3\lib\html\parser.py", line 174, in error 
      raise HTMLParseError(message, self.getpos())
html.parser.HTMLParseError: unknown status keyword 'NKXE' in marked section, 
      at line 318, column 49

永远感谢您的帮助!

看看是否安装html5lib

pip install html5lib

然后像这样发出请求即可解决问题。

from bs4 import BeautifulSoup

data = open(directory +'\'+ file)
soup = BeautifulSoup(data, 'html5lib')

这对我有用。