Python requests库参数提交的注意事项总结


Posted in Python onMarch 29, 2021

字典与json字符串区别

# python 中的字典格式,是dict类型
{'a': 'sd'}
如果声明a = {"a": "sd"},它仍是字典,不过python会默认将双引号换成单引号,最后打印的仍然为{'a': 'sd'}
 
 
# python 中的json字符串,是str类型
{"a": "sd"}
两者差别在于引号

在爬虫的过程中有些请求参数是json字符串的,有的是字典类型的,要区分json字符串和字典

json字符串格式如

Python requests库参数提交的注意事项总结

Python requests库参数提交的注意事项总结

很显然是json字符串格式的,字典转json字符串可以用json.dumps()函数

data=json.dumps({ })

字典格式如

Python requests库参数提交的注意事项总结

点击view source后得到的东西显然可以直接加到url后面的,直接用字典形式提交data={}即可

附:Python中的requests模块注意事项

主要是说requests.post()方法,

参数:

url :  这就不解释了

data:  如果传入的是字典类型,则字典在发出请求时会自动编码为表单形式,表单形式会将字典中的键和值进行一些操作: key1=value1&key2=value2

如果传入的是字符串类型,则数据会被直接发送出去。

2.4.2版本开始提供了json参数,默认会执行json.dumps()

headers

我们可以自定义请求头部。

content-type: application/json
application/json用来告诉服务端消息主体是序列化后的 JSON 字符串

application/x-www-form-urlencoded
浏览器的原生 form 表单,如果不设置 enctype 属性,那么最终就会以 application/x-www-form-urlencoded 方式提交数据。

他会按照原始的表单编码方式,也就是将键值对按照以下方式编码:title=test&sub%5B%5D=1&sub%5B%5D=2&sub%5B%5D=3

multipart/form-data
浏览器如果要在表单上传文件必须指定该首部

text/xml
xml格式,相对于json来说xml更重量级。

Python 相关文章推荐
python实现颜色空间转换程序(Tkinter)
Dec 31 Python
Python中类型检查的详细介绍
Feb 13 Python
Python模块搜索路径代码详解
Jan 29 Python
python多进程使用及线程池的使用方法代码详解
Oct 24 Python
Python实现九宫格式的朋友圈功能内附“马云”朋友圈
May 07 Python
使用Python的turtle模块画国旗
Sep 24 Python
简单了解Django ORM常用字段类型及参数配置
Jan 07 Python
将labelme格式数据转化为标准的coco数据集格式方式
Feb 17 Python
python GUI库图形界面开发之PyQt5计数器控件QSpinBox详细使用方法与实例
Feb 28 Python
使用python实现飞机大战游戏
Mar 23 Python
快速了解Python开发环境Spyder
Jun 29 Python
Python3爬虫RedisDump的安装步骤
Feb 20 Python
Python爬虫爬取全球疫情数据并存储到mysql数据库的步骤
Python爬虫数据的分类及json数据使用小结
Mar 29 #Python
python re模块和正则表达式
Mar 24 #Python
opencv实现图像几何变换
PyQt QMainWindow的使用示例
Mar 24 #Python
PyQt 如何创建自定义QWidget
Mar 24 #Python
解决python 输出到csv 出现多空行的情况
You might like
ThinkPHP通过AJAX返回JSON的两种实现方法
2014/12/18 PHP
php跨服务器访问方法小结
2015/05/12 PHP
对联广告js flash激活
2006/10/19 Javascript
checkbox全选/取消全选以及checkbox遍历jQuery实现代码
2009/12/02 Javascript
基于jquery的让textarea自适应高度的插件
2010/08/03 Javascript
终于解决了IE8不支持数组的indexOf方法
2013/04/03 Javascript
JS增加行复制行删除行的实现代码
2013/11/09 Javascript
微信小程序 获取微信OpenId详解及实例代码
2016/10/31 Javascript
微信小程序 flex实现导航实例详解
2017/04/26 Javascript
JavaScript监听手机物理返回键的两种解决方法
2017/08/14 Javascript
详解React Native顶|底部导航使用小技巧
2017/09/14 Javascript
NodeJs搭建本地服务器之使用手机访问的实例讲解
2018/05/12 NodeJs
超出JavaScript安全整数限制的数字计算BigInt详解
2018/06/24 Javascript
js实现网页同时进行多个倒计时功能
2019/02/25 Javascript
微信小程序渲染性能调优小结
2019/07/30 Javascript
javascript设计模式 ? 访问者模式原理与用法实例分析
2020/04/26 Javascript
vue中的循环对象属性和属性值用法
2020/09/04 Javascript
vue实现日历表格(element-ui)
2020/09/24 Javascript
vue实现简易的双向数据绑定
2020/12/29 Vue.js
Python中的descriptor描述器简明使用指南
2016/06/02 Python
Python面向对象之类和对象实例详解
2018/12/10 Python
python命令行工具Click快速掌握
2019/07/04 Python
详解Python中正则匹配TAB及空格的小技巧
2019/07/26 Python
在tensorflow实现直接读取网络的参数(weight and bias)的值
2020/06/24 Python
python 抓取知乎指定回答下视频的方法
2020/07/09 Python
python获取系统内存占用信息的实例方法
2020/07/17 Python
Python析构函数__del__定义原理解析
2020/11/20 Python
html5画布旋转效果示例
2014/01/27 HTML / CSS
Html5与App的通讯方式详解
2019/10/24 HTML / CSS
linux面试题参考答案(4)
2013/01/28 面试题
求职信模板标准格式范文
2014/02/23 职场文书
乡镇消防工作实施方案
2014/03/27 职场文书
打架赔偿协议书范本
2014/10/26 职场文书
城镇居民医疗保险工作总结
2015/08/10 职场文书
2016年感恩母亲节活动总结
2016/04/01 职场文书
css如何把元素固定在容器底部的四种方式
2022/06/16 HTML / CSS