在Python中使用requests库提交参数时需要注意哪些事项?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
字典与json字符串区别
# python 中的字典格式,是dict类型 {'a': 'sd'} 如果声明a = {"a": "sd"},它仍是字典,不过python会默认将双引号换成单引号,最后打印的仍然为{'a': 'sd'} # python 中的json字符串,是str类型 {"a": "sd"} 两者差别在于引号
在爬虫的过程中有些请求参数是json字符串的,有的是字典类型的,要区分json字符串和字典
json字符串格式如
点击view source
很显然是json字符串格式的,字典转json字符串可以用json.dumps()函数
用data=json.dumps({ })
字典格式如
点击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更重量级。
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。