时间:2020-07-20 python爬虫 查看: 983
josn基本操作
1.导入import json
2.字典转json:json.dumps(dict,ensure_ascii=False),加,ensure_ascii=False转换之后无中文乱码
3.json转字典:json.loads(str)
4.json转字典:requests.get().josn()
5.返回字符串: requests.get().text
举例源码
#!/usr/bin/python3
# encoding:utf-8
import json
import requests
class jsonC():
def __init__(self):
self.url = 'http://wthrcdn.etouch.cn/weather_mini?city=北京'
self.geturl = requests.get(self.url)
#字典转json,因为python没json类型所以str表示
def dict_json(self):
d = {"name":"张三","age":18}
j = json.dumps(d,ensure_ascii=False)
print('dict_json函数:类型:',type(d),'转类型',type(j),'\n',j)
#json转字典
def json_dict(self):
s = '{"name":"张三","age":18}'
d = json.loads(s)
print('json_dict函数:类型:',type(s),'转类型',type(d))
#接口调用直接返回 字典(dict)
def get_json(self):
d = self.geturl.json()
print('get_json函数类型:',type(d))
#接口调用直接返回字符串
def get_str(self):
s = self.geturl.text
print('get_str函数返回类型:',type(s))
if __name__=="__main__":
js = jsonC()
js.dict_json()
js.json_dict()
js.get_json()
js.get_str()
运行结果
dict_json函数:类型:
转类型
{"name": "张三", "age": 18}
json_dict函数:类型:转类型
get_json函数类型:
get_str函数返回类型:
调用get例子
http://wthrcdn.etouch.cn/weather_mini?city=北京
返回json值:
{"data":
{"yesterday":
{"date":"28日星期六","high":"高温 30℃","fx":"西南风","low":"低温 17℃","fl":"<![CDATA[<3级]]>","type":"晴"},
"city":"北京","forecast":
[
{"date":"29日星期天","high":"高温 29℃","fengli":"<![CDATA[<3级]]>","low":"低温 18℃","fengxiang":"南风","type":"晴"},
{"date":"30日星期一","high":"高温 28℃","fengli":"<![CDATA[<3级]]>","low":"低温 19℃","fengxiang":"南风","type":"晴"},
{"date":"1日星期二","high":"高温 29℃","fengli":"<![CDATA[<3级]]>","low":"低温 20℃","fengxiang":"南风","type":"多云"},
{"date":"2日星期三","high":"高温 29℃","fengli":"<![CDATA[<3级]]>","low":"低温 17℃","fengxiang":"南风","type":"晴"},
{"date":"3日星期四","high":"高温 30℃","fengli":"<![CDATA[<3级]]>","low":"低温 12℃","fengxiang":"东南风","type":"多云"}
],"ganmao":"各项气象条件适宜,无明显降温过程,发生感冒机率较低。","wendu":"29"
},"status":1000,"desc":"OK"
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持python博客。