python爬虫Get请求之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"}

三、携带参数说明

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、去掉,:后面的空格

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"}
# 你会发现少点了什么

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": "中文"}

四、请求示例

(一)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)


(二)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)
  • 4
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云霄IT

感谢感谢!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值