今天要来讲的是,读取送出 Request 後拿回来的 Response。
以下几种为常用到的方式:
String
import requests
url = "https://www.example.com/"
# 送出 request
r = requests.get(url)
# 印出内容
print(r.text)
# 每次呼叫 r.text 时
# Requests 会根据 r.encoding 定义的编码去解码(decode)接收到的内容
# r.encoding 预设基本上是 'utf-8',当然使用者也能自行定义
r.encoding = 'big-5'
# 使用编码 big-5 印出内容
print(r.text)
# r.text 型态是 string
Binary
import requests
from PIL import Image
from io import BytesIO
url = "https://www.example.com/"
# 送出 request
r = requests.get(url)
# 可以使用 r.content 将 Response 转成 bytes 型态
# 当 Response 的编码是 transfer-encoding 时,Requests 套件会自动帮你解码
# Requests 套件支援的 transfer-encoding 有 gzip、deflate 与 br
# br 需要另外安装 Brotli library,像是 brotli 或 brotlicffi
# 当然,不一定是 transfer-encoding 时才能用 r.content
# 想使用 bytes 的型态去处理 Response 时,都能使用
print(r.content)
# 将接收到的 binary content 储存成图片
i = Image.open(BytesIO(r.content))
# r.content 型态是 bytes
JSON
import requests
url = "https://www.example.com/"
# 送出 request
r = requests.get(url)
# r.json() 会自动将 JSON Response 转成 python 可存取的型态,像是 dict
response = r.json()
user = response["user"]
print(user)
以上就是几种常用到的读取 Response 方式!
更范例可以到官方文件 - Response Content
<<: DAY 22 Big Data 5Vs – Variety(速度) Kinesis (2)
>>: [Day 21] Facial Recognition: 只需要OpenCV就可以达成即时人脸辨识
Hello, 各位 iT邦帮忙 的粉丝们大家好~~~ 本篇是 Re: 从零开始用 Xamarin 技...
在现代的网页中绝大部分会需要与 server 互相沟通,无论是从 server 获取商品的资料用於显...
最後一篇,持续来介绍 VSCode 的套件,让你靠一套文字编辑器在路上横着走! CodeSpellC...
随着业务需求的增加,资料量会伴随着系统成长而增长。在储存的资料越来越多的况下,势必会产生一些存取效...
前情提要 「艾草艾草,你在做什麽?」 艾草:「没特别做什麽呀!」 「艾草艾草,我问你喔!」 艾草:「...