python中json.dumps和json.loads,get和post
一、json.dumps()和json.loads()概念理解
1、json.dumps()和json.loads()是json格式处理函数(可以这么理解,json是字符串)
- json.dumps()函数是将一个Python数据类型列表进行json格式的编码(可以这么理解,json.dumps()函数是将字典转化为字符串)
- json.loads()函数是将json格式数据转换为字典(可以这么理解,json.loads()函数是将字符串转化为字典)
2、json.dump()和json.load()主要用来读写json文件函数
二、get和post
我们都见识过requests库在静态网页的爬取上展现的威力,我们日常见得最多的为get和post请求,他们最大的区别在于安全性上:
区别:
1、传送方式:get通过地址栏传输,post通过报文传输。
2、传送长度:get参数有长度限制(受限于url长度),而post无限制
3、GET和POST还有一个重大区别,简单的说:GET产生一个TCP数据包;POST产生两个TCP数据包
长的说:
对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);
而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。
也就是说,GET只需要汽车跑一趟就把货送到了,而POST得跑两趟,第一趟,先去和服务器打个招呼“嗨,我等下要送一批货来,你们打开门迎接我”,然后再回头把货送过去。
4、
- get是从服务器获取数据,包括静态资源(HTML|JS|CSS|Image等等)、动态数据展示(列表数据、详情数据等等)
- post是向服务器提交数据,比如增删改数据,提交一个表单,新建一个人用户或修改一个用户
对于Post请求,我们可以通过浏览器开发者工具或者其他外部工具来进行抓包,得到请求的URL、请求头(request headers)以及请求的表单data信息,这三样恰恰是我们用requests模拟post请求时需要的,典型的写法如下:
response=requests.post(url=url,headers=headers,data=data_search)
由于post请求很多时候是配合Ajax(异步加载)技术一起使用的,我们抓包时,可以直接选择XHR(XmlHttpRequest)-ajax的一种对象,帮助我们滤掉其他的一些html、css、js类文件,如下图所示:
双击点开,就可以在页面右边的Headers页下看到General、Response Headers、Request Headers、Form Data
几个模块
剩下的工作就很简单,交给强大的Requests包完成就好,示例代码如下:
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
def get_page(data_search,url): #定义页面解析的函数,返回值为json格式try:response=requests.post(url=url,headers=headers,data=data_search)if response.status_code==200:return response.json()except requests.ConnectionError as e:print('Error',e.args)
最后的小结:
- 做测试的时候我们看清是get还是post请求,不要犯低级错误
- 注意传入的参数是否正常,缺失
python中json.dumps和json.loads,get和post相关推荐
- python中json文件处理涉及的四个函数json.dumps()和json.loads()、json.dump()和json.load()的区分
一.概念理解 1.json.dumps()和json.loads()是json格式处理函数(可以这么理解,json是字符串) (1)json.dumps()将字典转化为字符串 (2)json.load ...
- python中loads函数_了解python的json.dumps()和json.loads()
Python视频教程专栏介绍了两个概念:转储()和加载() 相关免费学习推荐:python视频教程 第一,概念理解 1.json.dumps()和json.loads()是json格式处理函数(jso ...
- json.dumps()、json.dump()、json.loads()和json.dumps()的区别
json.dumps().json.dump().json.loads()和json.dumps()的区别 json.dumps()用于将字典形式的数据转化为字符串 json.loads()用于将字符 ...
- python读取json数据格式问题_浅谈Python中的异常和JSON读写数据的实现
异常可以防止出现一些不友好的信息返回给用户,有助于提升程序的可用性,在java中通过try ... catch ... finally来处理异常,在Python中通过try ... except .. ...
- json.dumps()和json.loads()
一.概念理解 1.json.dumps()和json.loads()是json格式处理函数(可以这么理解,json是字符串) (1)json.dumps()函数是将一个Python数据类型列表进行js ...
- python怎么验证两个json是不是一样_比较Python中的两个JSON树
我有这种JSON树的文件夹结构.有什么方法可以将它与同类的Json树进行比较以获得差异(文件丢失或不同的文件属性(日期,crc,..)),并将其作为具有不同/缺失文件名称的列表返回.比较Python中 ...
- Python中的json.dumps()和json.loads()函数
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式 引用模块: import json 编码:把一个Python对象编码转换成Json字符串 json ...
- 29-30Python多线程、多线程、使用threading模块创建线程;JSON数据解析、编码为JSON类型转换对应表、Python类型转换对应表、json.dumps与json.loads
29Python3多线程 多线程类似于同时执行多个不同程序,多线程运行有如下优点: 使用线程可以把占据长时间的程序中的任务放到后台去处理. 用户界面可以更加吸引人,比如用户点击了一个按钮去触发某些 ...
- python json字典模块详解,json.dumps(),json.loads()
import jsonphonebook = {'Beth': '9102', 'Alice': '2341', 'Cecil': '3258'}with open('data.json','w') ...
最新文章
- OpenCVSharp::FindContours 错误:“total()==0||data!=NULL“
- 金融风控实战—模型可解释之shap
- 获取当前屏幕显示的viewcontroller
- hdu 3635(并查集+路径压缩变形)
- oracle备份还原到本地_Oracle 11g R2 RAC数据库备份通过RMAN恢复到单实例数据库实现...
- ASP.NET Core跨域设置
- 数据可视化系列(三):布局格式定方圆
- 测量坐标出现6位、7 、8位的情况
- 使用NPOI——C#和WEB API导出到Excel
- 利用Docker搭建Redis集群
- 初识 Proxysql
- 简单说 !![]==true 与 []==true 引发的思考
- 2019腾讯广告算法大赛之清洗广告数据集和用户数据集
- 使用Java程序实现计算器
- Fildder主菜单----Edit介绍
- 策略学习(Policy-Based Reinforcement Learning)
- Qt5.14.2下载与安装(保姆级图文教程)
- sip php 来电,php - 如何在Twilio上传递原来的来电显示? (Sip域语音URL配置) - SO中文参考 - www.soinside.com...
- springboot+Vue整合Luckysheet,实现在线编辑Excel表格
- 语义分割论文-DeepLab系列