资讯专栏INFORMATION COLUMN

lxml处理xml时的字符编码问题

liuhh / 836人阅读

摘要:为了简化问题,就把的内容简化为如下的形式中文,就是任性它的为,其中的节点有一个为中文字符使用提取节点的值时出现了如下的异常此时对应的脚本为中文,就是任性不过简化之前,报的是另外一个异常不论异常是哪一个,猜测还是和字符的编码形式有关。

为了简化问题,就把xml的内容简化为如下的形式:


它的encoding为gbk,其中的节点有一个为中文字符
使用lxml提取节点的值时出现了如下的异常

lxml.etree.XMLSyntaxError: Extra content at the end of the document

此时对应的Python脚本为:

tst = u""
for event,element in etree.iterparse(BytesIO(tst.encode("utf-8"))):
    print("%s, %s" % (element.tag, element.text))

不过简化之前,报的是另外一个异常

lxml.etree.XMLSyntaxError: input conversion failed due to input error, bytes 0x8B 0x2C 0xE6 0x9D

不论异常是哪一个,猜测还是和字符的编码形式有关。
经过各种尝试无果,后来在stackoverflow上看到这篇文章,文中提到的问题和xml中的encoding值有关,尝试了增加了一段代码

tst = u""
tst = tst.replace("encoding="gbk"", "encoding="utf-8"")
for event,element in etree.iterparse(BytesIO(tst.encode("utf-8"))):
    print("%s, %s" % (element.tag, element.text))

增加了一个替换的语句,将之前的encoding="gbk"替换成encoding:"utf-8"
于是终于得到了结果:

da, 中文,就是任性
DOCUMENT, None

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/110327.html

相关文章

  • lxml处理xml时的字符编码问题

    摘要:为了简化问题,就把的内容简化为如下的形式中文,就是任性它的为,其中的节点有一个为中文字符使用提取节点的值时出现了如下的异常此时对应的脚本为中文,就是任性不过简化之前,报的是另外一个异常不论异常是哪一个,猜测还是和字符的编码形式有关。 为了简化问题,就把xml的内容简化为如下的形式: 它的encoding为gbk,其中的节点有一个为中文字符 使用lxml提取节点的值时出现了如下的...

    Jackwoo 评论0 收藏0
  • 爬虫问题总结

    摘要:编码我们发现,中有时候存在中文,这是就需要对进行编码。可以先将中文转换成编码,然后使用方法对参数进行编码后传递。 本文档对日常学习中用 python 做数据爬取时所遇到的一些问题做简要记录,以便日后查阅,部分问题可能因为认识不到位会存在一些误解,敬请告知,万分感谢,共同进步。 估算网站规模 该小节主要针对于整站爬取的情况。爬取整站之前,肯定是要先对一个网站的规模进行估计。这是可以使用g...

    nanfeiyan 评论0 收藏0
  • Python3网络爬虫实战---29、解析库的使用:BeautifulSoup

    摘要:解析器在解析的时候实际上是依赖于解析器的,它除了支持标准库中的解析器,还支持一些第三方的解析器比如,下面我们对支持的解析器及它们的一些优缺点做一个简单的对比。 上一篇文章:Python3网络爬虫实战---28、解析库的使用:XPath下一篇文章:Python3网络爬虫实战---30、解析库的使用:PyQuery 前面我们介绍了正则表达式的相关用法,但是一旦正则写的有问题,可能得到的就...

    MockingBird 评论0 收藏0
  • Python_爬虫基础

    摘要:并不是所有爬虫都遵守,一般只有大型搜索引擎爬虫才会遵守。的端口号为的端口号为工作原理网络爬虫抓取过程可以理解为模拟浏览器操作的过程。表示服务器成功接收请求并已完成整个处理过程。 爬虫概念 数据获取的方式: 企业生产的用户数据:大型互联网公司有海量用户,所以他们积累数据有天然优势。有数据意识的中小型企业,也开始积累的数据。 数据管理咨询公司 政府/机构提供的公开数据 第三方数据平台购买...

    ixlei 评论0 收藏0
  • 关于爬虫解析数据的4种方式

    摘要:大奉打更人卖报小郎君这个人仙太过正经言归正传从红月开始黑山老鬼稳住别浪跳舞二解析数据是一个可以从或文件中提取数据的库。 目录 一、XPath解析数据 1、XPath解析数据 2、XML的树形结构 3、使用XPath选取节点 4、课堂案例 - 爬取起点小说网 二、BeautifulSoup解析...

    newtrek 评论0 收藏0

发表评论

0条评论

liuhh

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<