目次
経緯
Pythonのrequests
ライブラリを使い、Webサイトからデータを取得しようとしたところ、
ConnectionError: HTTPSConnectionPool(host='wworldtimeapi.org', port=443): Max retries exceeded with url: /api/timezone/Asia/Tokyo (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 11001] getaddrinfo failed'))
というエラーが発生しました。
実際のコード
import requests
response = requests.get('https://wworldtimeapi.org/api/timezone/Asia/Tokyo')
原因
エラー内容をよく読むと「getaddrinfo failed」とあります。
これは、指定したURLに接続できなかったことを意味します。
確認してみると、URLに**タイポ(入力ミス)**がありました。
- 誤)
wworldtimeapi.org
- 正)
worldtimeapi.org
つまり、「w」が1個多いのが原因でした。
正しいコードはこちらです。
import requests
response = requests.get('https://worldtimeapi.org/api/timezone/Asia/Tokyo')
print(response.json())
これでエラーは解消しました。
アドレスを確認する重要性
Webサイトからデータを取得するときは、必ずURLを正しく入力することが大切です。
特に、コピー&ペーストではなく手入力する場合、**小さなミス(スペルミスやドットの忘れ)**が原因で、今回のようなエラーが発生することがあります。
まとめ
ConnectionError
が出たら、まずURLをよく確認する- 特に**タイポ(スペルミス)**がないか細かくチェックする
- どうしてもわからない場合は、公式サイトを再確認する
森の一言
プログラミングは小さなミスでも大きなエラーにつながりますね。
今回のように**「初心にかえって確認する習慣」**をつけたいと思いました。