网速不给力?掌握Python技巧,让网速起飞

210 阅读1分钟
  • 要使用Python监控网络连接和网速,可以使用第三方库psutil来获取系统网络信息.以下是一个示例代码,可以在PyCharm中运行并显示结果.

首先,安装psutil库:

pip install psutil 
  • 然后在pycharm里面输入一下代码即可:
import psutil
import time

def get_network_speed():
    old_value = psutil.net_io_counters().bytes_sent + psutil.net_io_counters().bytes_recv
    time.sleep(1)
    new_value = psutil.net_io_counters().bytes_sent + psutil.net_io_counters().bytes_recv
    return convert_to_gbit(new_value - old_value)

def convert_to_gbit(value):
    return value/1024./1024.*8

while True:
    network_speed = get_network_speed()
    print(f"Current Network Speed: {network_speed:.2f} Mbps")
    time.sleep(1)
  • 然后run运行 就可以看到结果当前网络的速度

那么如果通过python脚本查看下载速度呢?

  • 首先要安装request库
pip install requests

运行如下代码:

import requests
import time
import datetime

# 要测试的URL,可以是任何公开的、可以快速响应的URL

TEST_URL = "https://www.baidu.com/"

# 记录速度和中断的函数
def monitor_internet_connection():
    while True:
        start_time = time.time()

        try:
            # 尝试获取URL的响应
            response = requests.get(TEST_URL, timeout=5)
            response.raise_for_status()  # 如果请求失败,会抛出HTTPError异常

            # 计算下载时间
            download_time = time.time() - start_time
            speed = len(response.content) / download_time  # 计算速度,单位:字节/秒

            print(f"下载速度: {speed:.2f} B/s, 时间: {download_time:.2f} 秒")

        except requests.exceptions.RequestException as e:
            # 如果发生任何请求异常,记录中断
            print(f"互联网连接中断: {e}")

            # 等待一段时间后再进行下一次测试
        time.sleep(60)  # 间隔60秒


if __name__ == "__main__":
    monitor_internet_connection()

效果如下:

如果你觉得文章还不错,请大家 点赞、分享、收藏、留言,创作不易,因为这将是我持续输出更多优质文章的最大动力!

想要获取更多优质的文章请扫一下微信公众号: