グリーン免許エンジニアのNotepad

エンジニアの免許を取得したてのほやほやエンジニアが作るNotepadです。Notepad(メモ帳)以上のことは書けません。

Python3のRequestsでWebページの死活監視をしてみました

pythonの勉強がてら簡単な死活監視プログラムを書いてみました
これは、RequestsというライブラリをつかってWebページのステータスコードでページが見れるかどうかのプログラムです

  • Requestsとは
    • pythonでインターネットにアクセスするための外部ライブラリ
    • getメソッドをつかうことでアクセスしているWebサーバからデータを取得できる
    • Webサーバから返されたレスポンスメッセージを戻り値として返す
starus_code ステータスコード
headrs ヘッダーの情報
encoding 文字コードエンコード方式
text 本文のHTMLコード
  • 事前準備

コードを書く前にpipコマンドをつかって「Requests」というライブラリをインストールします
windows

pip install requests

Mac

pip3 install requests
  • コード
# coding: utf-8

import requests
import time

def webstatus(url):
    i=url

    try:
        rq = requests.get(i)
        if rq.status_code == 200:
            return('OK')
        else:
            return('NO Web page.')
    except:
        print('//エラー//')
        return('NO Web page')


if __name__ == '__main__':
    inp=input('URL=>')
    while(True):
        sta=webstatus(inp)
        print(sta)
        time.sleep(5)
  • 各種説明
 rq = requests.get(i)

URLを引数にgetメソッドを実行してrqに格納

        if rq.status_code == 200:
            return('OK')
        else:
            return('NO Web page.')

rqのステータスコードが200だと「OK」と出力それ以外だと「NO Web page」
このまま実行するとWebが見れなくなった状態でエラーはいてプログラムがとまってしまうため例外処理をつけて見た↓

try:
        rq = requests.get(i)
        if rq.status_code == 200:
            return('OK')
        else:
            return('NO Web page.')
    except:
        print('//エラー//')
        return('NO Web page')

なんかいらない部分があるような、、、まぁいっか( ^ω^ )



それにしてもきたない( ;∀;)
最初は例外処理なしでやっていたけどうまくいかず、あわてて調べた例外処理を付け加えているため、使い方があってるのか、、、w

© 2018-2023 tt. All Rights Reserved.