python如何实现网络测试,了解一下speedtest-cli…

yizhihongxing

它是一款面向开发人员的互联网连接测量工具。Speedtest CLI 为命令行带来 Speedtest 背后的可信技术和全球服务器网络。

【阅读全文】

Speedtest CLI 专为软件开发人员、系统管理员和计算机爱好者等打造,是 Ookla® 提供技术支持的首款正式 Linux 本机 Speedtest 应用程序。

Speedtest CLI是使用python语言开发的,不仅可以直接在命令行运行。也可以作为python模块在python IDE中直接调用。

首先,看一下如何在python应用中进行调用,使用pip直接安装。

pip install speedtest-cli

将该模块直接导入到我们当前的代码块中。

import speedtest as spt

创建网络测试对象

spd = spt.Speedtest()

打印当前可用于测试的服务器列表

from pprint import pprint

pprint(spd.get_servers())

# {721.5702755019188: [{'cc': 'CN',
#                       'country': 'China',
#                       'd': 721.5702755019188,
#                       'host': 'speedtest1.he.chinamobile.com:8080',
#                       'id': '41912',
#                       'lat': '38.0428',
#                       'lon': '114.5149',
#                       'name': '石家庄',
#                       'sponsor': 'China Mobile Hebei Co., Ltd',
#                       'url': 'http://speedtest1.he.chinamobile.com:8080/speedtest/upload.php'}],
#  776.2668436087947: [{'cc': 'CN',
#                       'country': 'China',
#                       'd': 776.2668436087947,
#                       'host': '5gtest.shangdu.com:8080',
#                       'id': '36646',
#                       'lat': '34.7466',
#                       'lon': '113.6253',
#                       'name': 'Zhengzhou',
#                       'sponsor': 'China Unicom HeNan 5G',
#                       'url': 'http://5gtest.shangdu.com:8080/speedtest/upload.php'}],
#  1051.7168853741107: [{'cc': 'MN',
#                        'country': 'Mongolia',
#                        'd': 1051.7168853741107,
#                        'host': 'speedtest.gemnet.mn:8080',
#                        'id': '2853',
#                        'lat': '47.9200',
#                        'lon': '106.9200',
#                        'name': 'Ulaanbaatar',
#                        'sponsor': 'Gemnet LLC',
#                        'url': 'http://speedtest.gemnet.mn:8080/speedtest/upload.php'},
#                       {'cc': 'MN',
#                        'country': 'Mongolia',
#                        'd': 1051.7168853741107,
#                        'host': 'speedtest1.kewiko.mn:8080',
#                        'id': '30772',
#                        'lat': '47.9200',
#                        'lon': '106.9200',
#                        'name': 'Ulaanbaatar',
#                        'sponsor': 'Kewiko LLC',
#                        'url': 'http://speedtest1.kewiko.mn:8080/speedtest/upload.php'}],
#  1339.1170164273938: [{'cc': 'CN',
#                        'country': 'China',
#                        'd': 1339.1170164273938,
#                        'host': '5gnanjing.speedtest.jsinfo.net:8080',
#                        'id': '26352',
#                        'lat': '32.0500',
#                        'lon': '118.7667',
#                        'name': 'Nanjing',
#                        'sponsor': 'China Telecom JiangSu 5G',
#                        'url': 'http://5gnanjing.speedtest.jsinfo.net:8080/speedtest/upload.php'}],
#  1340.7612716854985: [{'cc': 'CN',
#                        'country': 'China',
#                        'd': 1340.7612716854985,
#                        'host': 'speedtest02.js165.com:8080',
#                        'id': '13704',
#                        'lat': '32.0602',
#                        'lon': '118.7968',
#                        'name': 'Nanjing',
#                        'sponsor': 'China Unicom',
#                        'url': 'http://speedtest02.js165.com:8080/speedtest/upload.php'}],
#  1381.9129755930571: [{'cc': 'CN',
#                        'country': 'China',
#                        'd': 1381.9129755930571,
#                        'host': 'speedtest.zjmobile.com:8080',
#                        'id': '17320',
#                        'lat': '32.2069',
#                        'lon': '119.4490',
#                        'name': 'ZhenJiang',
#                        'sponsor': 'China Mobile JiangSu 5G',
#                        'url': 'http://speedtest.zjmobile.com:8080/speedtest/upload.php'}],
#  1489.08809618835: [{'cc': 'RU',
#                      'country': 'Russia',
#                      'd': 1489.08809618835,
#                      'host': 'speedtest-ude.edinos.ru:8080',
#                      'id': '36254',
#                      'lat': '51.8336',
#                      'lon': '107.5840',
#                      'name': 'Ulan-Ude',
#                      'sponsor': 'EDINOS',
#                      'url': 'http://speedtest-ude.edinos.ru:8080/speedtest/upload.php'}],
#  1542.170901504592: [{'cc': 'RU',
#                       'country': 'Russia',
#                       'd': 1542.170901504592,
#                       'host': 'speedtest.bteleport.ru:8080',
#                       'id': '18543',
#                       'lat': '52.2757',
#                       'lon': '104.3087',
#                       'name': 'Irkutsk',
#                       'sponsor': 'Baikal Teleport',
#                       'url': 'http://speedtest.bteleport.ru:8080/speedtest/upload.php'},
#                      {'cc': 'RU',
#                       'country': 'Russia',
#                       'd': 1542.170901504592,
#                       'host': 'speedtest-irkutsk.fttb.beeline.ru:8080',
#                       'id': '31472',
#                       'lat': '52.2757',
#                       'lon': '104.3087',
#                       'name': 'Irkutsk',
#                       'sponsor': 'Beeline',
#                       'url': 'http://speedtest-irkutsk.fttb.beeline.ru:8080/speedtest/upload.php'}]}

获取当前最佳的测试服务器

spd.get_best_server()

print('测试开始,请稍等...')

获得当前的下载速度

download = int(spd.download() / 1024 / 1024)

获得当前的上传速度

upload = int(spd.upload() / 1024 / 1024)

print(f'当前下载速度为:{str(download)} MB/s')

print(f'当前上传速度为:{str(upload)} MB/s')

print('测试已完成!')

打印出最终的返回结果

测试开始,请稍等...
当前下载速度为:12 MB/s
当前上传速度为:13 MB/s
测试已完成!

file

【往期精彩】

模型已经写好了,怎么表白就看你的了!

如何实现根据照片获取地理位置及如何防御照片泄漏地理位置!

又是樱花盛开的季节,使用小乌龟来画一颗樱花树吧!

Python 读取PDF文件为文本字符并转换为音频...

python 获取最新房价信息-以北京房价为例

办公自动化:Image图片转换成PDF文档存储...

python做一个微型美颜图片处理器,十行代码即可完成...

用python做一个文本翻译器,自动将中文翻译成英文,超方便的!

小王,给这2000个客户发一下节日祝福的邮件...

python 一行命令开启网络间的文件共享...

PyQt5 批量删除 Excel 重复数据,多个文件、自定义重复项一键删除...

再见XShell,这款国人开源的终端命令行工具更nice!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python如何实现网络测试,了解一下speedtest-cli… - Python技术站

(0)
上一篇 2023年4月2日 下午5:42
下一篇 2023年4月2日 下午5:42

相关文章

  • python实现excel数据与mysql数据库互通有无

    【阅读全文】 python在制作一些小工具上本身就有着得天独厚的优势,大多数非标准库的应用只需要进行简单的安装即可使用。 比如:使用python将excel中的数据导入到mysql数据库表中,或是将mysql数据库表中的数据直接导出为excel都只需要简单的几行代码就可以完成,假如使用Java来做这件事强那可就有些复杂了呢。 话不多说,接下来直接进入正题..…

    2023年4月2日
    00
  • python做一个微型美颜图片处理器,十行代码即可完成

    【阅读全文】 图片美颜处理的实现思路就是使用cv2非标准库对图片做双边过滤,使其达到美颜的效果。 将cv2非标准库导入到代码块中 import cv2 准备好需要美颜的图片,源图片是在百度上面找的用来做测试用。 读取准备好的原始图片 source = cv2.imread(“source.jpeg”) 对准备好的原始图片执行双边过滤 target = cv2…

    2023年4月2日
    00
  • 知识汇总:python办公自动化应该学习哪些内容

    【阅读全文】 当前python自动化越来越受到欢迎,python一度成为了加班族的福音。还有大部分人想利用python自动化来简化工作,不知道从何处下手,所以,这里整理了一下python自动化过程中的各种办公场景以及需要用到的python知识点。 Excel办公自动化 python 针对excel表格处理的非标准库应该是最多的,这也是把excel办公自动化放…

    2023年4月2日
    00
  • 办公自动化:Image图片转换成PDF文档存储

    实现图片转换成PDF文档的操作方法有很多,综合对比以后感觉fpdf这个模块用起来比较方便而且代码量相当少。 【阅读全文】 安装的方式很常规,直接使用pip安装就行了。 pip install fpdf 将需要使用的三方模块导入进来 from fpdf import FPDF # PDF文档对象操作库 import os # 文件路径操作库 初始化PDF文档对…

    2023年4月2日
    00
  • python四个性能检测工具,包括函数的运行内存、时间等等…

    python虽然是一门’慢语言’,但是也有着比较多的性能检测工具来帮助我们优化程序的运行效率。 【阅读全文】 这里总结了五个比较好的python性能检测工具,包括内存使用、运行时间、执行次数等方面。 首先,来编写一个基础的python函数用于在后面的各种性能测试。 def base_func(): for n in range(10000): print(‘…

    2023年4月2日
    00
  • 用python做一个文本翻译器,自动将中文翻译成英文,超方便的

    translate非标准库是python中可以实现对多种语言进行互相翻译的库,使用时只需要设置目标语言(比如:中文、英文)后,会自动将原始文本翻译成我们需要的目标语言。 【阅读全文】 使用pip的方式安装translate非标准库。 pip install translate 准备好之后进行代码编写过程,实现的方式也比较常规。 输入需要翻译的文本文件路径。 …

    2023年4月2日
    00
  • 吐血整理python数据分析利器pandas的八个生命周期!

    这里从八个pandas的数据处理生命周期,整理汇总出pandas框架在整个数据处理过程中都是如何处理数据的。 【阅读全文】 也就是从pandas的数据表对象以及数据汇总、数据统计等等直到数据导出的八个处理过程来完成pandas使用的汇总处理。 首先,需要准备好将python非标准库导入进来,除了pandas之外一般伴随数据分析处理使用的还有numpy科学计算…

    Python开发 2023年4月2日
    00
  • python-turtle绘制雪容融,已打包成exe可直接运行

    之前我们放出了冰墩墩绘制的源代码,雪容融的绘制却是一直没有。今天在逛论坛的时候终于发现有大佬写出来了,给大佬递茶!先来看看绘制的效果如何,个人觉得还是很惟妙惟肖的,哈哈哈~ 阅读全文 由于本文主要是通过图片的方式来展示代码块的实现过程的,需要完整源代码请前往文末查看源代码的获取方式。 话不多说,我们直接进入主题,说明一下我们改造以后的源代码,绘图的非标准库这…

    2023年4月2日
    00
合作推广
合作推广
分享本页
返回顶部