python爬虫在解析不带引号的json报错的问题解决方案

本例中环境:

python3.6.6

demjson-2.2.4

如不看废话请直接看3(下面红体字)

1.近期在爬取代理验证代理的时候发生一个Bug,

就是在验证代理的时候返回的是如下字符串,

{ip:'121.79.50.68',address:'北京市 长城宽带'}

刚开始十分开心这不是json字符串吗,那就很方便了。

马上就用python3自带的json模块进行了json.loads(str)处理。

结果大家也知道了,直接报错,连续来回折腾几次,

发现这不是标准的json字符串,字符串的key没有带引号所以无法解析。

后来着急需要,所以用了个正则匹配字符串的ip拿出来使用。虽然有些麻烦。这样也是解决了当前需求。

2.但是作为一个python的程序员,首要的精神就是懒(胡诌的)。所以不想使用正则这个很lo又有些麻烦的方法。

翻了半天的论坛,博客,找的了解决办法。办法如下

3.首先安装demjson模块;

pip3 install demjson

然后解析字符串就好。

import demjson
print
(demjson.decode("{ip:'121.79.50.68',address:'北京市 长城宽带'}"))

猜你喜欢

转载自www.cnblogs.com/li-bing/p/9380888.html