API-02-requests基础

requests

一、简介

requests库是Python第三方库,作用是模拟浏览器向服务器发送起HTTP请求,处理响应结果。

requests库的底层是urllib3

requests库的使用范围:爬虫、接口测试。

  • 安装requests库:python -m pip install requests

  • 官方文档:https://docs.python-requests.org/en/master/

  • 中文文档:https://docs.python-requests.org/zh_CN/latest/

二、发送请求

  • GET
import requests

rsp = requests.get('http://httpbin.org/get')
print(rsp)   		# <Response [200]>
print(type(rsp)		# <class 'requests.models.Response'>
  • POST
import requests

rsp = requests.post('http://httpbin.org/get')
print(rsp)   		# <Response [200]>
print(type(rsp)		# <class 'requests.models.Response'>

三、Response对象

3.1 text方法

text方法返回响应体,类型为Unicode字符串

  • 案例1
import requests

rsp = requests.get('http://httpbin.org/get')
print(rsp.text)         # 返回响应体内容
print(type(rsp.text))       # <class 'str'>
  • 案例2:访问百度首页
import requests

rsp = requests.get('https://www.baidu.com/')
print(rsp.text)				# 结果中的中文显示为乱码

# 查看响应对象的解码格式
print(rsp.encoding)         # ISO-8859-1

# 修改解码的格式为UTF-8
rsp.encoding = 'UTF-8'

print(rsp.text)				# 正常显示中文

当使用text获取响应体时,由于text会将Bytes类型的响应内容解码为str类型,text会猜测一个解码格式,一般会猜测的格式为ISO-8859-1

如果需要显示中文,需要指定这个解码格式为UTF-8

3.2 content方法

返回的响应体数据类型为Bytes类型,需要进行解码,推荐使用。

import requests

rsp = requests.get('https://www.baidu.com/')

print(rsp.content)
print(type(rsp.content))			# <class 'bytes'>

# 查看响应体的Unicode格式的内容
print(rsp.content.decode())			# 结果为UTF-8解码后的内容

3.3 json对象

  • 序列化:将内存中的数据写入到磁盘、传输到网络中的数据转换过程
import json
import requests

rsp = requests.get('http://httpbin.org/get')

print(rsp.json())					# 输出JSON响应体
print(type(rsp.json()))				# <class 'dict'>

# JSON序列化
data_json = json.dumps(rsp.json())
print(data_json)
print(type(data_json))				
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值