当前位置:   article > 正文

python爬虫Get请求之json.dumps()用法_json dumps

json dumps

一、json.dumps简单介绍

json.dumps的功能是将字典类型转换为json格式的字符串类型,爬虫领域经常用到该函数,要配合请求头’Content-Type’: 'application/json;charset=utf-8’进行使用。

二、简单使用

import json

data = {'token':'e5dads5 3455s2','verify':True,'content':'中文'}
data_json = json.dumps(data)
print(data_json)
#输出:{"token": "e5dads5 3455s2", "verify": true, "content": "\u4e2d\u6587"}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

三、携带参数说明

def dumps(obj, *, 
	skipkeys=False,   # skipkeys=True 为键按a~z进行排序
	ensure_ascii=True,  # ensure_ascii=False 默认的ASCLL码用中文显示
	check_circular=True,
    allow_nan=True,
    cls=None, 
    indent=None, 
    separators=None,  # separators=(',',':') 将,:后面的空格去掉
    default=None,
    sort_keys=False,
     **kw):
    pass
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

1、去掉,:后面的空格

import json

data = {'token':'e5dads5 3455s2','verify':True,'content':'中文'}
data_json = json.dumps(data,separators=(',',':'))
print(data_json)
#输出:{"token":"e5dads5 3455s2","verify":true,"content":"\u4e2d\u6587"}

# 不建议使用以下方法
data_json = json.dumps(data).replace(' ','')
#输出:{"token":"e5dads53455s2","verify":true,"content":"\u4e2d\u6587"}
# 你会发现少点了什么
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

2、正常显示中文

import json

data = {'token':'e5dads5 3455s2','verify':True,'content':'中文'}
data_json = json.dumps(data,ensure_ascii=False)
print(data_json)
#输出:{"token": "e5dads5 3455s2", "verify": true, "content": "中文"}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

四、请求示例

(一)GET请求
import requests
import json
url = 'https://www.baidu.com/?'
data = {"id": "001","key": "123"}
params = {
    'sx': '2s',
    'appid': 'as',
    'data': json.dumps(data,separators=(',',':')),
    }
res = requests.get(url=url, params=params)
print(res.text)


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
(二)POST请求
import requests
import json
url = 'https://baidu.com/'
headers = {
    'content-type': 'application/json;charset=utf-8'
}
data = {"key1":"value1","key2":"value2"}
res = requests.post(url=url,headers=headers,data=json.dumps(data,separators=(',',':')))
print(res.text)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/382140
推荐阅读
相关标签
  

闽ICP备14008679号