Python

取得可能ドメイン・ドメイン取得可否のrequests.response.http_status_code

投稿日:

取得可能なドメインは2種類ある。

  • 期限切れのドメイン(中古ドメイン)
  • 全く新規のドメイン

それぞれ、どのようなrequests.response.http_status_codeを返すのだろうか。下記ドメインを例に調査してみる。

期限切れのドメイン(中古ドメイン) decadentlittlemorsels.com niazandsumaiya.com
全く新規のドメイン hogehoge98237984.com

例)
>>> requests.get('http://www.xn--sierweb-867su02h.xyz').status_code
ドメイン wwwあり wwwなし
xn--sierweb-867su02h.xyz(当サイト)  200 200
decadentlittlemorsels.com requests.exceptions.ConnectionError  requests.exceptions.ConnectionError
niazandsumaiya.com  requests.exceptions.ConnectionError  requests.exceptions.ConnectionError
hogehoge98237984.com  requests.exceptions.ConnectionError  requests.exceptions.ConnectionError

このように、全てrequests.exceptions.ConnectionErrorを返すことがわかった。

取得可能ドメインはそもそもレスポンスが返ってこない。そのためステータスコードは取得できない。

エラーの全容はこれ。

requests.exceptions.ConnectionError: HTTPConnectionPool(host='www.decadentlittlemorsels.com', port=80): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f9beddd70f0>: Failed to establish a new connection: [Errno -2] Name or service not known',))

 

Max retries exceeded リトライ上限回数に達したよ
Name or service not known 名前(URL)は知られてないよ
と出力されている。

取得可能ドメインを判定するには、requests.exceptions.ConnectionErrorをexceptするようなドメインであればよい。

-Python

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

URLの構造

http://hoge.sample.com/category/diet?q=drink#ojousama スキーム scheme httpやhttpsのようにプロトコルを表す オーソリティ auth …

no image

Python3 RecursionError: maximum recursion depth exceeded

再起処理の自作URLクローラーを夜回したら、朝起きたら落ちていた。   File “/usr/lib/python3.5/threading.py”, line 224, in __init …

no image

PythonでHello World!

Pythonファイルの拡張子は「.py」 Pythonファイルは「.py」で保存する。 例)helloworld.py 文字出力は print(‘出力する文字’) 例)prin …

no image

PythonでWebサイトをクローリング・スクレイピングの実践

 各モジュールの公式ドキュメント モジュール バージョン ドキュメントURL 言語 Python 3 https://docs.python.jp/3/index.html 日本語 urllib ht …

no image

環境構築・Pythonのインストール

おまけ Eclipseのプラグイン PyDevをインストールする マーケットプレースで「python」と検索すると出てくる。 インストールしよう。 インストール完了後、再起動を求められる。 再起動しよ …