サーバーに JSON のクエリを実行し、要求されたデータが利用できない場合に 404 HTML ページを受け取ることがあります。
したがって、期待している JSON が実際には HTML ではなく json であることを確認する必要があります。HTML にあると予想される文字列が応答に含まれているかどうかを確認することで、これを達成していますが、これを行うためのより良い方法が必要だと思います。
サーバーに JSON のクエリを実行し、要求されたデータが利用できない場合に 404 HTML ページを受け取ることがあります。
したがって、期待している JSON が実際には HTML ではなく json であることを確認する必要があります。HTML にあると予想される文字列が応答に含まれているかどうかを確認することで、これを達成していますが、これを行うためのより良い方法が必要だと思います。
最初の非空白文字を見つけます。「<」の場合はHTMLです。
また、コンテンツタイプヘッダーとHTTPステータスコードを確認してください。
応答コードが 200 ではなかったため、404 を受信したことがわかるはずです。つまり、次のようになります。
import urllib
resp = urllib.urlopen('http://example.com/')
if resp.getcode() == 200:
rejoice()
if resp.getcode() == 404:
sulk()