提示:文末有福利!最新Python爬虫资料/学习指南>>戳我直达
文章目录
前言
简述
结构化的数据是最好处理的,一般都是类似JSON格式的字符串,直接解析JSON数据,提取JSON的关键字段即可。
话不多说,开始学习
JSON
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式;适用于进行数据交互的场景,比如网站前台与后台之间的数据交互
Json模块提供了四个功能:dumps、dump、loads、load
,用于字符串 和 python数据类型间进行转换
1. json.loads()
实现:json字符串 转化 python的类型,返回一个python的类型
从json到python的类型转化对照如下:
import json
a="[1,2,3,4]"
b='{"k1":1,"k2":2}'#当字符串为字典时{}外面必须是''单引号{}里面必须是""双引号
print json.loads(a)
[1, 2, 3, 4]
print json.loads(b)
{
'k2': 2, 'k1': 1}
案例
import urllib2
import json
response = urllib2.urlopen(r'http://api.douban.com/v2/book/isbn/9787218087351')
hjson = json.loads(response.read())
print hjson.keys()
print hjson['rating']
print hjson['images']['large']
print hjson['summary']
2. json.dumps()
实现python类型转化为json字符串,返回一个str对象
从python原始类型向json类型的转化对照如下:
import json
a = [1,2,3,4]
b ={
"k1":1,"k2":2}
c = (1,2,3,4)
json.dumps(a)
'[1, 2, 3, 4]'
json.dumps(b)
'{"k2": 2, "k1": 1}'
json.dumps(c)
'[1, 2, 3, 4]'
json.dumps 中的ensure_ascii 参数引起的中文编码问题
如果Pyth