【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で取る。
いい加減覚えましたか。
この記事が気に入ったらサポートをしてみませんか?