Python爬虫踩坑之json报错,json包比较

在执行Python爬虫时遇到json.loads()报错,问题在于字典键缺少引号。通过使用demjson解决了该问题。本文对比了json、simplejson和demjson三个包的性能,结果显示simplejson速度最快,json其次,demjson最慢,但demjson具有补全引号的功能。
摘要由CSDN通过智能技术生成

跑爬虫总在json.loads()的时候报错:

json.decoder.JSONDecodeError: Invalid \escape: line 1 column 3190 (char 3189)

本来以为是loads(res.text)传的空值,打印下确实有值。翻译了一下大概就是说在Python对象传入的时候字典的键少引号。
解决方案:demjson会补全引号

今天主要对比三个包,json,simplejson,demjson:

simplejson

和json用法差不多有dump,dumps,load,loads。用法的话百度json相应的用法

demjson

encode()将Python对象成json    
decode(text,encoding)解码成Python对象
encode_to_file(filename, obj, encoding='utf-8', overwrite=False, **kwargs)将Python对象编码为JSON并写入给定文件中
decode_file(filename, encoding=None, **kwargs)#对给定文件中的JSON进行解码

对比速度:###先感谢大神:json包比较

demjson:

from time import clock

obj = [u"ero", [[u"erode", u"腐蚀;侵蚀;磨损", u"0", u""], [u"erodent", u"侵
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值