Библиотека проверки скорости интернета — Speedtest

Python — широко используемый высокоуровневый язык программирования общего назначения. Он используется для веб-разработки, машинного обучения и даже приложений с графическим интерфейсом. Его же можно использовать для проверки скорости интернета. Для этого в Python есть несколько библиотек. Одна из таких — speedtest-cli.

Speedtest-cli — это интерфейс командной строки для проверки скорости с помощью сервиса speedtest.net.

Установка

Модуль не является предустановленным в Python. Для его установки нужно ввести следующую команду в терминале:

pip install speedtest-cli

После установки библиотеки можно проверить корректность и версию пакета. Для этого используется такая команда:

& speedtest-cli --version
speedtest-cli 2.1.2
Python 3.8.5 (tags/v3.8.5:580fbb0, Jul 20 2020, 15:57:54) [MSC v.1924 64 bit (AMD64)]

Возможности speedtest-cli

Что делает Speedtest-CLI?
Speedtest-cli — это модуль, используемый в интерфейсе командной строки для проверки пропускной способности с помощью speedtest.net. Для получения скорости в мегабитах введите команду: speedtest-cli.

получения скорости в мегабитах

Это команда даст результат скорости в мегабитах. Для получения результата в байтах нужно добавить один аргумент к команде.

$ speedtest-cli --bytes
Retrieving speedtest.net configuration...
Testing from ******** (******)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by ******** (***) [1.85 km]: 3.433 ms
Testing download speed.........................................................
Download: 22.98 Mbyte/s
Testing upload speed...............................................................
Upload: 18.57 Mbyte/s

Также с помощью модуля можно получить графическую версию результата тестирования. Для этого есть такой параметр:

$ speedtest-cli --share
Retrieving speedtest.net configuration...
Testing from ***** (****)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by ***** (***) [1.85 km]: 3.155 ms
Testing download speed.......................................
Download: 164.22 Mbit/s
Testing upload speed............................................................
Upload: 167.82 Mbit/s
Share results: http://www.speedtest.net/result/11111111111.png

Команда вернет ссылку, по которой можно перейти в браузере:

графическая версия результата тестирования

Для вывода более простой версии результатов теста, в которой будут только сведения о пинге, скорости скачивания и загрузки используйте параметр --simple.

$ speedtest-cli --simple
Ping: 3.259 ms
Download: 182.49 Mbit/s
Upload: 172.16 Mbit/s

Использование speedtest в Python

Рассмотрим пример программы Python для тестирования скорости интернета:

import speedtest   
  

st = speedtest.Speedtest() 
option = int(input('''
Выбери тип проверки:   

1 - Скорость скачивания   
2 - Скорость загрузки   
3 - Пинг

Твой выбор: ''')) 
  
  
if option == 1:   
    print(st.download())   
elif option == 2:  
    print(st.upload())   
elif option == 3:   
    servernames =[]   
    st.get_servers(servernames)   
    print(st.results.ping)     
else: 
    print("Пожалуйста, введите цифру от 1 до 3!")

Результат выполнения этой простой программы будет такой:

Выбери тип проверки:   

1 - Скорость скачивания   
2 - Скорость загрузки   
3 - Пинг

Твой выбор: 2
136433948.59785312

Дополнение

Что бы погрузится в библиотеку speedtest-cli используйте команду --help, что бы получить список всех доступных параметров:

speedtest-cli --help  # или speedtest-cli -h

Подписывайтесь на канал в Дзене

Полезный контент для начинающих и опытных программистов в канале Лента Python разработчика — Как успевать больше, делать лучше и не потерять мотивацию.

Обучение Python и Data Science

Профессия Data Scientist

Профессия Data Scientist

11 520 5 760 ₽/мес.
Профессия Python-разработчик

Профессия Python-разработчик

7 820 3 910 ₽/мес.
Профессия Python Fullstack

Профессия Python Fullstack

7 820 3 910 ₽/мес.
Курс Аналитик данных с нуля

Курс Аналитик данных с нуля

6 500 3 900 ₽/мес.

Появились вопросы? Задайте на Яндекс.Кью

У сайта есть сообщество на Кью >> Python Q <<. Там я, эксперты и участники отвечаем на вопросы по python и программированию.