今天工作的时候遇到了这个问题,花了一个小时才解决这个问题,回到家记录一下。
有时候,爬虫爬取的数据是json字符串,大概模式如下:
'[{"id": 1,"num": 1},{"id": 2,"num": 2},{"id": 3,"num": 3}]'
处理这类json字符串时候,需要用到json库的json.loads()函数。类似代码如下:
res = str(string, encoding="utf-8")
list1 = json.loads(res)
for dir1 in list1:
print(dir1["id"])
详细讲解:
str()将爬取到的bytes数据转换成str字符串(encoding=“utf-8”这段不能漏,不然转换的数据,json.loads()无法识别),json.loads()自动将字符串转换成相应格式的数据类型,比如此处,自动将字符串转换成包含字典的列表,列表每一个单元都是一个字典,之后进行数据调用和存储时,只需要放在循环里,每次循环对一个字典进行处理。