【python3】APIを叩きに行く

わたしへ。
なんでそこが解らなくなるんですか。
わたしより。

結論

# get.py
import requests
import time
import HttpException

class ApiGetter():
    def __init__(self,url):
        self.url = url

    def get(self):
        response = requests.get(self.url)
        print(response.status_code)
        if response.status_code != 200:
            raise(HttpException("APIからエラーが返されました",response.status_code))
        result = response.text
        return(result)    


# http_exception.py
class HttpException(Exception):
   def __init__(self, message,status_code):
       super().__init__()
       self.message = message
       self.status_code = status_code

※このクラスから結果を受け取るmain.py(等)でもhttp_exeptionをimportして使う。
結果処理の分岐にステータスコード必要ないなら通常のExeption投げても良い。

参考サイト

responseオブジェクトの取り扱いはここを見ましょう↓
Python, Requestsの使い方 | note.nkmk.me

よく使うところのメモ

・response = requests.get(self.url) これ一行でGET。

・response.status_code でステータスコードが取れる

・response.text でテキストデータが取れる

・response.content でバイナリデータが取れる。

・contentを内部でデコードしたものがtext。JSONやhtmlなんかをリクエストした場合はtextでもcontentでも見た目同じようなものが取れる。

・textだと文字化けするとかの場合はcontentを取って任意の文字コードでデコードすればいいんじゃない。

・画像データなどをリクエストしたときはcontentで取る。

いい加減覚えましたか。


この記事が気に入ったらサポートをしてみませんか?