[Python 爬虫这样学,一定是大拇指拉!] DAY19 - Python:Requests 基本应用 (2)

今天要来讲的是,读取送出 Request 後拿回来的 Response。

读取 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就可以达成即时人脸辨识

EP 18 Search and SearchBar design in TopStore App

Hello, 各位 iT邦帮忙 的粉丝们大家好~~~ 本篇是 Re: 从零开始用 Xamarin 技...

[Angular] Day33. Communicating with backend services using HTTP

在现代的网页中绝大部分会需要与 server 互相沟通,无论是从 server 获取商品的资料用於显...

VSCode 套件推荐系列 - 下

最後一篇,持续来介绍 VSCode 的套件,让你靠一套文字编辑器在路上横着走! CodeSpellC...

Day.24 提升大数据资料管理 - 资料表分区 ( MYSQL Partition)

随着业务需求的增加,资料量会伴随着系统成长而增长。在储存的资料越来越多的况下,势必会产生一些存取效...

中阶魔法 - 闭包 Closure (一)

前情提要 「艾草艾草,你在做什麽?」 艾草:「没特别做什麽呀!」 「艾草艾草,我问你喔!」 艾草:「...