Python で接続をスピードテストする


今日は、速度テスト サービスを Python で構築します.
知らない人のために、ping、アップロード、およびダウンロードの速度をテストするために、このような Speedtest Web サイトがあります.

今日の記事では、定期的にチェックしているので、これを自動化しようと考えていました.

私は Python を言語として選択し、少し試してみました.

Python での speedtest-cli のインストール



このパッケージを使用する前に、使用できるようにインストールする必要があります.

次のコマンドを使用してインストールします.

pip install speedtest-cli


Python ファイルを開き、速度テスト モジュールをインポートすることから始めます.

import speedtest


次に、新しい速度テストを作成します.私の場合、st 変数に割り当てています.

st = speedtest.Speedtest()


Note: be aware running the speed test takes a while, so be patient 🙈



それでは、ダウンロード速度を試して印刷してみましょう.

print(st.download())


これを実行すると、次のような長い数値が得られます.

55775374.79559286


完全な Python 速度テスト スクリプトの作成



速度テストの基本がわかったので、次の 3 つの要素を取得します.
  • ping
  • ダウンロード
  • アップロード

  • このデータを取得して適切にフォーマットする方法を紹介します.

    ping から始めて、これを機能させるには、ping を実行するサーバーを定義する必要があります.私たちの場合、最良のものを選びましょう.

    st.get_best_server()
    


    この後、次を使用して、このサーバーへの ping を取得できます.

    print(f"Your ping is: {st.results.ping} ms")
    


    ダウンロードに進みましょう. download() 関数を呼び出すことでこれを取得できることは既に確認しましたが、フォーマットされていません.
    以下に、 Mbit/s にフォーマットする方法を示します.

    print(f"Your download speed: {round(st.download() / 1000 / 1000, 1)} Mbit/s")
    


    アップロードにも同じアプローチを行うことができますが、upload() 関数を使用します.

    print(f"Your upload speed: {round(st.upload() / 1000 / 1000, 1)} Mbit/s")
    


    完全なスクリプトは次のようになります.

    import speedtest
    
    st = speedtest.Speedtest()
    
    st.get_best_server()
    print(f"Your ping is: {st.results.ping} ms")
    print(f"Your download speed: {round(st.download() / 1000 / 1000, 1)} Mbit/s")
    print(f"Your upload speed: {round(st.upload() / 1000 / 1000, 1)} Mbit/s")
    


    これを実行すると、次のように出力されます.

    Your ping is: 30.97 ms
    Your download speed: 64.4 Mbit/s
    Your upload speed: 29.2 Mbit/s
    


    読んでくれてありがとう、接続しましょう!



    私のブログを読んでいただきありがとうございます.メール ニュースレターを購読して、Facebook に接続してください.