首页 > 编程语言 >Python3,6行代码,搞定网络测速神器,我直接卸载某60测速器。

Python3,6行代码,搞定网络测速神器,我直接卸载某60测速器。

时间:2023-10-18 13:03:50浏览次数:42  
标签:07 speedtest upload server 60 测速器 测试 speed Python3



6行代码搞定网络测速器

  • 1、引言
  • 2、代码实战
  • 2.1 介绍
  • 2.1.1 定义
  • 2.1.2 常用方法
  • 2.1.3 功能
  • 2.2 安装
  • 2.3 示例
  • 2.3.1 测试上传下载速度
  • 2.3.2 测试延迟
  • 2.3.3 自定义服务器测试
  • 2.3.4 多连接测试
  • 2.3.5 实战
  • 3、总结


1、引言

小屌丝:鱼哥,你知道speedtest 这个库吗?

小鱼:嗯,知道一点点,咋了?

小屌丝:那你教教我怎么使用呗?

小鱼:这还用我教你? AIGC就能回答你的疑问。

小屌丝:哎呀,你比AIGC好用。

小鱼:… 感情我在你这,就是一个工具啊。

小屌丝:不不不, 我的意思, 你回答的比AIGC回答的更符合我的想法。

小鱼:我… 好吧,那你再说一遍。

小屌丝:我说你回答完美。

Python3,6行代码,搞定网络测速神器,我直接卸载某60测速器。_下载速度

小鱼:嘿嘿…我说, 我都说!

2、代码实战

2.1 介绍

2.1.1 定义

  • speedtest是一个用于测试网络速度的Python库。
  • 它使用Speedtest.net网站的API来测试网络连接的下载和上传速度,并返回测试结果。
  • 使用speedtest库可以很方便地测试网络连接的速度,并可以用于监控网络性能和诊断网络问题。

2.1.2 常用方法

  • 常用方法就5种,如下:
  • speedtest.Speedtest():创建一个Speedtest对象。
  • get_best_server():寻找并返回最佳服务器。
  • download():执行下载速度测试,并返回下载速度(以比特/秒为单位)。
  • upload():执行上传速度测试,并返回上传速度(以比特/秒为单位)。
  • results.dict():以字典形式返回所有测试结果,包括Ping延迟、下载速度、上传速度等。

2.1.3 功能

  • 测试网络的下载和上传速度,帮助开发者评估网络性能。
  • 提供最佳服务器的选择,以确保测试结果准确。
  • 返回详细的测试结果,包括Ping延迟、下载速度、上传速度等信息,方便开发者分析和记录。

2.2 安装

因为gtts 是第三方库, 所以使用前,需要安装:

pip install speedtest-cli

其余安装方式,可以参照这两篇:

安装完成,就可以进行代码编写了。

2.3 示例

2.3.1 测试上传下载速度

代码示例

# -*- coding:utf-8 -*-
# @Time   : 2023-07-07
# @Author : Carl_DJ
'''
实现功能:
	测试上传与下载速度
'''
import speedtest

result = speedtest.net()

upload_speed = result.upload_speed
download_speed = result.download_speed

2.3.2 测试延迟

代码示例

# -*- coding:utf-8 -*-
# @Time   : 2023-07-07
# @Author : Carl_DJ
'''
实现功能:
	测试延迟,  如:ping
'''
import speedtest

result = speedtest.net()

ping_speed = result.ping_speed

2.3.3 自定义服务器测试

代码示例

# -*- coding:utf-8 -*-
# @Time   : 2023-07-07
# @Author : Carl_DJ
'''
实现功能:
	测试服务器速度
'''
import speedtest

#测试CSDN服务器,嘿嘿..
result = speedtest.net(server='')

upload_speed = result.upload_speed
download_speed = result.download_speed

2.3.4 多连接测试

代码示例

# -*- coding:utf-8 -*-
# @Time   : 2023-07-07
# @Author : Carl_DJ
'''
实现功能:
	测试多个链接
'''
import speedtest

#测试 C站和百度
result1 = speedtest.net(server='', test_number=1)
result2 = speedtest.net(server='www.baidu.com', test_number=2)

upload_speed1 = result1.upload_speed
download_speed1 = result1.download_speed

upload_speed2 = result2.upload_speed
download_speed2 = result2.download_speed

2.3.5 实战

# -*- coding:utf-8 -*-
# @Time   : 2023-07-07
# @Author : Carl_DJ
'''
实现功能:
	网络测速器
'''


import speedtest as st

# 设置最佳测试服务区
server = st.Speedtest()
server.get_best_server()

# 测试下载速度
down_sp = server.download()
down = down_sp  / 1000000
print(f"下载网速为: {down_sp } Mb/s")

# 测试上传网速
up_sp = server.upload()
up = up_sp  / 1000000
print(f"上传网速为: {up } Mb/s")

# 测试ping速度
ping = server.results.ping
print(f"Ping 速度: {ping}")

3、总结

看到这里,今天的分享差不多就结束了 。
今天主要分享通过使用speedtest库进行上传、下载等网速测试。

我是小鱼

  • 博客专家
  • 阿里云 专家博主
  • 51CTO博客专家
  • 51认证讲师等
  • 认证金牌面试官
  • 职场面试及培训规划师
  • 多个国内主流技术社区的认证专家博主
  • 多款主流产品(阿里云等)测评一、二等奖获得者

关注我,带你学习更多更专业更前言的Python技术。


标签:07,speedtest,upload,server,60,测速器,测试,speed,Python3
From: https://blog.51cto.com/u_15910936/7916373

相关文章

  • Python36days
    进程基础(操作系统中的概念)进程调度算法(四种算法)进程的并行和并发的概念同步异步阻塞非阻塞的概念创建进程(进程类Process)Process类的参数Process类的方法如何开启多进程基于TCP协议的高并发程序————————————————————————————————————......
  • 课程概论与python3语法
    server端云盘:代替硬盘disk,存图片,视频,几百G、几TMysql:存代码,文本,几十GRedis:占用内存, client端WebStorageds内存 1、注释#......
  • 铭凡推出UM760 Pro/790 Pro迷你主机:顶配锐龙9 7940HS
    铭凡推出了UM760Pro与790Pro迷你主机,售价2299元起。据介绍,铭凡UM790Pro搭载锐龙97940HS处理器,采用4nm工艺打造,Zen4CPU架构、RDNA3GPU架构、16MB三级缓存、8核心16线程、5.2GHz加速频率、Radeon780M12单元核显。而铭凡760Pro则搭载锐龙57640HS处理器,同样为Zen4CPU架......
  • 畅捷通T+任意文件上传(CNVD-2022-60632 )漏洞复现
    一、漏洞描述022年8月29日和8月30日,畅捷通公司紧急发布安全补丁修复了畅捷通T+软件任意文件上传漏洞。未经身份认证的攻击者利用该漏洞,通过绕过系统鉴权,在特定配置环境下实现任意文件的上传,从而执行任意代码,获得服务器控制权限。目前,已有用户被不法分子利用该漏洞进行勒索病毒攻......
  • 260. 只出现一次的数字 III
    1.题目介绍2.题解2.1快排+遍历思路同本系列前几题一样代码classSolution{public:std::vector<int>singleNumber(std::vector<int>&nums){intcount=0;std::vector<int>arr;std::sort(nums.begin(),nums.end());for......
  • centos 6.10 安装 python3.10.5 和 openssl1.1.1
    centos6.10安装python3.10.5和openssl1.1.1安装opensslcentos6.10自带的openssl版本太老了,要安装1.0.2以上的版本。如果不安装openssl,python的pip无法联网。下载wgethttps://link.juejin.cn/?target=https%3A%2F%2Fwww.openssl.org%2Fsource%2Fopenssl-1.1.1......
  • 260. 只出现一次的数字 III
    题目题解题解一直接使用HashSet判断classSolution{publicint[]singleNumber(int[]nums){Set<Integer>set=newHashSet<>();for(intnum:nums){if(set.contains(num)){set.remove(num);......
  • 笨办法学Python3 习题35 分支和函数
    XX.isdigit()内置函数检验数据是否为数字类型 ifchoice<'50': #50需要加引号,不然报错 游戏内容:用函数定义4个房间,分别是开始的房间1,房间1左边的熊房间2,房间1右边的恶魔房间3,以及熊旁边的金币房间4。定义一个失败退出的函数。开始房间1进去选择走左边还是右边,用......
  • [LeetCode] 260. 只出现一次的数字 III
    题目给你一个整数数组nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次。找出只出现一次的那两个元素。你可以按任意顺序返回答案。你必须设计并实现线性时间复杂度的算法且仅使用常量额外空间来解决此问题。思路可以用哈希表um映射存储每一个输入的值,输入一次就给......
  • python35days
    Socket抽象层(Socket编程)基于TCP协议的借助socket可以编程客户端和服务端的程序链接循环通信循环基于UDP协议的套接字(soket)编程粘包现象如何解决粘包现象struck模块的使用——————————————————————————————————————————......