SerialisationError: IO_ENCODER 报错解决方法

2021-12-07 13:50:43 浏览数 (2)

SerialisationError: IO_ENCODER 报错解决方法

在将 xpath 的 element 元素,转换成 html 源码,报了以下错误:

代码语言:javascript复制
---------------------------------------------------------------------------
SerialisationError                        Traceback (most recent call last)
<ipython-input-12-4cbcdb81e506> in <module>
      1 spider = BiliSpider("BV16p4y187hc")
----> 2 spider.run()

<ipython-input-11-286c53a34004> in run(self)
     37     def run(self):
     38         # 1.根据BV号获取网页内容
---> 39         html_content = self.getHTML_content()
     40         # 2.请求并获取script数据
     41         script_list = self.get_script_list(html_content)

<ipython-input-11-286c53a34004> in getHTML_content(self)
     11         html_str = response.content.decode()
     12         html = etree.HTML(html_str)
---> 13         result = etree.tostring(html)
     14         return result
     15 

src/lxml/etree.pyx in lxml.etree.tostring()

src/lxml/serializer.pxi in lxml.etree._tostring()

src/lxml/serializer.pxi in lxml.etree._raiseSerialisationError()

SerialisationError: IO_ENCODER

解决方法:

代码语言:javascript复制
result = etree.tostring(html)

改为如下,加上encoding="utf-8"
result = etree.tostring(html, encoding="utf-8")

结果如下:

0 人点赞