摘要:为了简化问题,就把的内容简化为如下的形式中文,就是任性它的为,其中的节点有一个为中文字符使用提取节点的值时出现了如下的异常此时对应的脚本为中文,就是任性不过简化之前,报的是另外一个异常不论异常是哪一个,猜测还是和字符的编码形式有关。
为了简化问题,就把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/45361.html
摘要:为了简化问题,就把的内容简化为如下的形式中文,就是任性它的为,其中的节点有一个为中文字符使用提取节点的值时出现了如下的异常此时对应的脚本为中文,就是任性不过简化之前,报的是另外一个异常不论异常是哪一个,猜测还是和字符的编码形式有关。 为了简化问题,就把xml的内容简化为如下的形式: 它的encoding为gbk,其中的节点有一个为中文字符 使用lxml提取节点的值时出现了如下的...
摘要:解析器在解析的时候实际上是依赖于解析器的,它除了支持标准库中的解析器,还支持一些第三方的解析器比如,下面我们对支持的解析器及它们的一些优缺点做一个简单的对比。 上一篇文章:Python3网络爬虫实战---28、解析库的使用:XPath下一篇文章:Python3网络爬虫实战---30、解析库的使用:PyQuery 前面我们介绍了正则表达式的相关用法,但是一旦正则写的有问题,可能得到的就...
摘要:并不是所有爬虫都遵守,一般只有大型搜索引擎爬虫才会遵守。的端口号为的端口号为工作原理网络爬虫抓取过程可以理解为模拟浏览器操作的过程。表示服务器成功接收请求并已完成整个处理过程。 爬虫概念 数据获取的方式: 企业生产的用户数据:大型互联网公司有海量用户,所以他们积累数据有天然优势。有数据意识的中小型企业,也开始积累的数据。 数据管理咨询公司 政府/机构提供的公开数据 第三方数据平台购买...
摘要:大奉打更人卖报小郎君这个人仙太过正经言归正传从红月开始黑山老鬼稳住别浪跳舞二解析数据是一个可以从或文件中提取数据的库。 目录 一、XPath解析数据 1、XPath解析数据 2、XML的树形结构 3、使用XPath选取节点 4、课堂案例 - 爬取起点小说网 二、BeautifulSoup解析...
阅读 1848·2021-09-29 09:35
阅读 2710·2021-09-22 15:25
阅读 1971·2021-08-23 09:43
阅读 2048·2019-08-30 15:54
阅读 3348·2019-08-30 15:53
阅读 2386·2019-08-30 13:50
阅读 2397·2019-08-30 11:24
阅读 2268·2019-08-29 15:37