dict 和cookiejar互转
import requests
response = requests.get(url=url, headers=headers)
#获取cookieJar 对象
cook=response.cookies
#字典转cookiejar
requests.utils.dict_from_cookiejar(cj)
#cookiejar转字典
requests.utils.cookiejar_from_dict(cookie_dict, cookiejar=None, overwrite=True)
dict和json互转
-
json.loads() 是将json格式字符串转为python对象
-
json.dumps() python对象转json字符串
-
json.dump 将python类型转json写入文件
-
json.load() 读取文件json格式数据转成python类型
import json 1. data1 = {"name": "jingluo", "age": 18} print(type(str(data1))) # 不是json类型 >>> <class 'str'> 2. data2 = json.dumps(data1) print(type(data2)) >>><class 'str'> #json字符串 3. with open("test.json","w",encoding="utf-8")as f: # f.write(str(data)) # 不是json格式 # f.write(json.dumps(data, skipkeys=True, ensure_ascii=False)) json.dump(data,f,skipkeys=True, ensure_ascii=False) 4. import json with open('./urls/school_1.json','r',encoding='utf-8') as fp: j=json.load(fp) print(type(j)) >>> <class 'dict'>
jsonpath的使用:
jsonpath.jsonpath(data,"$ ..author")#所有的author数据
jsonpath.jsonpath(data,"$.store.book[*].author")#所有的book的author节点
jsonpath.jsonpath(data,"$.store. * ")#store下所有的节点
jsonpath.jsonpath(data,"$.store..price")#store下所有的price节点
jsonpath.jsonpath(data,"$..book[2]")#匹配第三个book节点
jsonpath.jsonpath(data,"$..book[(@.length-1)]")#匹配倒数第一个book节点
jsonpath.jsonpath(data,"$..book[-1]")#匹配倒数第一个book节点
jsonpath.jsonpath(data,"$..book[:2]")#匹配前两个
jsonpath.jsonpath(data,"$..book[?(@.isbn)]")#过滤选中含isbn字段的节点
jsonpath.jsonpath(data,"$..book[?(@.prince<10)]")#过滤prince<10的节点