在爬虫学习的过程中,在requests的使用中,要对请求到的源码进行解码,在这里我使用了json序列来进行操作:
import json
obj=json.loads(content,encoding='utf-8')
print(obj)
但在运行该代码之后则报出以下错误。
Traceback (most recent call last):
File "C:\Users\15907834654\Desktop\python基础\requests的使用.py", line 67, in <module>
obj=json.loads(content,encoding='utf-8')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\my apps\python\Lib\json\__init__.py", line 359, in loads
return cls(**kw).decode(s)
^^^^^^^^^
TypeError: JSONDecoder.__init__() got an unexpected keyword argument 'encoding'
这里报错的主要原因是,在旧版本的json中,可以传递encoding这个参数,我使用的是新版的,使用以下命令可在终端中可查看json的版本。
python -c "import json; print(json.__version__)"
我的版本是2.0.9,在这里,json.loads中已经没有了encoding这个参数,他会自行匹配,因此我们只需将encoding=‘utf-8’给去掉即可,或者改为content.encode('utf-8)。
import json
obj=json.loads(content)
#obj=json.loads(content.encode('utf-8'))
print(obj)