前提・実現したいこと
PythonでWeb小説のAPIを使用してgzipで圧縮されたjsonファイルを扱いたいと考えています.
できればurllibを使わずにrequestsを用いて実現したいと考えています.
対象のURL : "http://api.syosetu.com/novelapi/api/?out=json&lim=10&gzip=5"
requests.get()で得られたオブジェクトに対してcontentでアクセスするとbytesオブジェクトになるということはわかるのですが,bytesであってjson形式で私はデータを扱いたいので困っています.
また,対象URLのencodingを調べてもNoneが返ってきており,デコードをどうすればいいのかわからずどのように対処すればいいのかわかりません.
申し訳ありませんが,教えていただけないでしょうか.
環境
Python 3.6.7
requests 2.20.0
requests-oauthlib 1.0.0
該当のソースコード
Python
1import json 2import requests 3import gzip 4 5url = "http://api.syosetu.com/novelapi/api/?out=json&lim=10&gzip=5" 6 7response = requests.get(url) 8#response.encoding = response.apparent_encoding をしてもNoneが返ってくる 9print(response.encoding) # Noneが返ってくる 10print(response.status_code)#200 11r = response.content 12print(r.decode('utf-8')) #エラーが発生する(1)
エラー
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8b in position 1: invalid start byte

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/16 10:52