Друкарня від WE.UA

Вимірювання швидкості інтернету в Python

Всіх вітаю! У даній статті ми поговоримо про бібліотеку speedtest-cli, яка дозволяє виміряти швидкість інтернету у дуже легкий спосіб.

Встановлення

Winodows:

pip install speedtest-cli

MacOs:

pip3 install speedtest-cli

Linux:

pip install speedtest-cli

Визначаємо швидкість інтернету

Отже, імпортуємо бібліотеку:

import speedtest

Тепер можемо спокійно переходити до справи. Так як ми будемо працювати із сервером, то треба створити відповідний об’єкт, який буде виконувати цю задачу.
У бібліотеці speedtest-cli є клас Speedtest, який ми і будемо використовувати для створення об’єкта:

net_test = speedtest.Speedtest()

Далі варто вказати додаткові налаштування для пошуку відповідного сервера, з яким наш код буде працювати. Таким налаштуванням є метод get_best_server(), який вказує програмі одразу шукати найкращий сервер для роботи. Під найкращим мається на увазі сервер, який буде мати найменший пінг.

Отже, встановлюємо це налаштування:

net_test.get_best_server()

Тепер переходимо до безпосереднього вимірювання швидкості інтернету. Тут є два важливі методи, які й забезпечують виконання усього процесу — це методи download() та upload().

Метод download() вимірює швидкість завантаження, ось як ми його застосували у коді:

download_speed = net_test.download()

А метод upload() аналізує швидкість віддачі. Використовуємо його теж:

upload_speed = net_test.upload()

Після цього залишається лише вивести отримані дані у консоль. Нам важливі дані про пінг сервера, швидкість завантаження та швидкість віддачі.

Дані про пінг сервера, з яким працював наш код, можна отримати за допомогою властивості results та змінній ping:

ping_info = net_test.results.ping

Виводимо усі потрібні параметри у консоль:

print(f"Final result\n"
      f"====================\n"
      f"Downloading speed: {download_speed}\n"
      f"Uploading speed: {upload_speed}\n"
      f"Server ping: {ping_info}")

Отримали такий результат:

Final result
====================
Downloading speed: 188627163.89115825
Uploading speed: 230870323.01953307
Server ping: 13.021

Це, звісно, добре, але ці дані треба конвертувати в мегабіти на секунду, так як швидкість інтернету вимірюється саме у цій величині.

Імпортуємо бібліотеку math:

import math

Додаємо рядки до нашого коду, які би конвертували наш результат:

download_conversion = download_speed / math.pow(10, 6)
upload_conversion = upload_speed / math.pow(10, 6)

Далі вказуємо наші конвертовані значення у коді:

print(f"Final result\n"
      f"====================\n"
      f"Downloading speed: {download_conversion:.2f}\n"
      f"Uploading speed: {upload_conversion:.2f}\n"
      f"Server ping: {ping_info}")

Отримуємо остаточний результат:

Final result
====================
Downloading speed: 264.11
Uploading speed: 261.27
Server ping: 10.283

Отже, програма готова і код повністю працює. Загалом все пройшло успішно.

Ось повний код нашої програми:

import speedtest
import math

net_test = speedtest.Speedtest()
net_test.get_best_server()
download_speed = net_test.download()
upload_speed = net_test.upload()

ping_info = net_test.results.ping

download_conversion = download_speed / math.pow(10, 6)
upload_conversion = upload_speed / math.pow(10, 6)

print(f"Final result\n"
      f"====================\n"
      f"Downloading speed: {download_conversion:.2f}\n"
      f"Uploading speed: {upload_conversion:.2f}\n"
      f"Server ping: {ping_info}")

Даний код програми для зручності, щоб можна було побачити повну картину.

Висновок

У цій новій статті ми познайомилися із бібліотекою для вимірювання швидкості інтернету speedtest-cli та реалізували саме вимірювання за допомогою мови Python. Всім дякую за увагу!

Статті про вітчизняний бізнес та цікавих людей:

  • Бронеплівка для вікон: коли вона доречна та як обрати рішення

    Як бронеплівка утримує уламки, де її встановлюють та чому перед монтажем важливо оцінити стан і конструкцію скління.

    Теми цього довгочиту:

    Бронеплівка На Вікна
  • Шлейф сучасного смартфону та його призначення

    Шлейф - це тонка пластикова стрічка з ледь видимими доріжками і саме вона зʼєднує важливі компоненти мобільного, без яких він не запрацює. Власники пристроїв Xiaomi, які стикаються з потребою заміни цієї деталі, можуть підібрати відповідний варіант на сайті AKS.UA

    Теми цього довгочиту:

    Шлейф Для Мобільного
  • Чохли для iPhone 15: повний гід по кольорах, матеріалах і виробниках

    Перед тим як вибрати чохли для iPhone 15, варто визначитися, що саме ви хочете отримати від аксесуара. Комусь потрібен тонкий прозорий корпус, інший покупець шукає посилений захист, а для когось вирішальним стане колір або підтримка MagSafe

    Теми цього довгочиту:

    Чохли Для Iphone
  • Як побудована програма Meest China Academy

    Курс про товарний бізнес охоплює різні етапи роботи: від пошуку ідеї до перевірки товару, логістики та масштабування. Програма Meest China Academy містить 17 модулів, які послідовно розкривають ці теми без зведення всього навчання до однієї універсальної поради.

    Теми цього довгочиту:

    Meest
  • Які технології використані в Айфон 17

    Айфон 17 поєднує OLED-дисплей із частотою до 120 Гц, чип A19, дві камери Fusion 48 Мп і швидке заряджання через USB-C. У COMFY можна купити Айфон 17 з накопичувачем на 256 або 512 ГБ, вибравши конфігурацію відповідно до обсягу фото, відео та застосунків

    Теми цього довгочиту:

    Iphone 17
Поділись своїми ідеями в новій публікації.
Ми чекаємо саме на твій довгочит!
Magnifique numérique
Magnifique numérique@magnifiquedigitalworld

Прекрасний цифровий світ

94Довгочити
2KПерегляди
28Підписники
Підтримати
На Друкарні з 14 липня 2025

Більше від автора

  • Оновлення проєкту Magnifique numérique

    Відтепер Magnifique numérique — це не лише про статті з програмування, а й новини про IT та технології. Це означає, що відтепер контент стане різноманітнішим.

    Теми цього довгочиту:

    Оновлення
  • Метод zfill() у Python

    У цій статті ми розберемо метод zfill() у Python на основі практичних прикладів його використання.

    Теми цього довгочиту:

    It
  • Команда WHERE у SQL

    Сьогодні ми розглянемо команду WHERE та принцип роботи цієї команди.

    Теми цього довгочиту:

    Програмування

Це також може зацікавити:

  • Еволюція ллмок 2024

    Коротше ото ж всі побігли рік тому терміново робити свої ллмки і бабки збирати під свої єбейші стартапи.

    Публікація містить описи/фото насилля, еротики або іншого чутливого контенту.

    Теми цього довгочиту:

    Llm
  • Підкорюємо Інтеграл

    Навчитися використовувати інтеграл може бути складним, але варто зрозуміти його основні принципи, та встане свої місця

    Теми цього довгочиту:

    Математика

Коментарі (2)

Дякую “Друже” за статтю!, Саме те, що потрібно для бистрого тесту 🤝

Це також може зацікавити:

  • Еволюція ллмок 2024

    Коротше ото ж всі побігли рік тому терміново робити свої ллмки і бабки збирати під свої єбейші стартапи.

    Публікація містить описи/фото насилля, еротики або іншого чутливого контенту.

    Теми цього довгочиту:

    Llm
  • Підкорюємо Інтеграл

    Навчитися використовувати інтеграл може бути складним, але варто зрозуміти його основні принципи, та встане свої місця

    Теми цього довгочиту:

    Математика