python爬虫就是向网页服务器发送请求抓取数据返回的程序,而根据抓取数据的方式不同,抓取回来的数据除了网页源代码之外还有json格式的。而这篇文章所介绍的内容就是python爬虫提取json数据然后对其进行解析的方法,感兴趣的话可以往下看看作为参考。
一、提取json数据
python爬虫一般都是采用requests这个第三方库调用方法来抓取数据,而返回来的并不是只有数据,而是一个叫做response的响应对象。在这个对象中text属性获取到的没有处理过的源数据,而json()这个方法就可以将其中的json数据给提取出来并对其进行初步解析。
这个解析能够将其转为python可以识别和输出的对应类型,详细代码示例如下所示:
import requests url='https://image.baidu.com/search/acjson?tn=resultjson_com' resp=requests.get(url) json_data=resp.json() print(json_data)
二、解析json数据
而这个json数据虽然可以将其输出,但是还需要进一步解析才可以去使用它。那么这一步就需要用到内置模块json了,其中的loads()方法能够将json数据转为字典格式,这样就可以使用循环迭代以及切片语法来将其中的数据给取出来了。而这些取数据时需要填入的字典键,就是json格式数据之中的属性名,代码示例如下所示:
for i in json_data: name = i['title'] img = i['cover'] rate = i['rate'] with open(mulu+'/'+'rm.txt', 'a+', encoding='utf-8') as f: f.write('pf:' + rate + 'mz:' + name + 'dz:' + img + '\n')
需要注意只有取到的数据是json格式才需要使用这种方式进行解析,如果只是单纯的一段字符串保存起来的数据,调用json()方法所得到的的数据就可以直接使用了。