使用Python请求测量网页的下载速度

rdrgkggo  于 2023-02-28  发布在  Python
关注(0)|答案(1)|浏览(131)

我需要测量一个网页(html文档)使用请求的下载速度。
我正在尝试这个简单易行的方法:

def get_speed(response):
    download_speed = len(response.content) / response.elapsed.microseconds
    return download_speed * 976.5625  # converting to kb/s

session = requests.Session()
url = "https://stackoverflow.com"
response = session.get(url, allow_redirects=True)
speed = get_speed(response)
print(f"The page was downloaded with a speed of {speed}kb/s")

但结果有些不一致:我得到的测量值总是很低,最大值为100/200 kb/s,而我非常肯定我使用的连接速度要快得多。
我的方法有什么问题?我如何改进它?请注意,我不需要这个大/巨大的文件,但只有网页,所以使用基于流的方法可能不适合我。

kgsdhlau

kgsdhlau1#

您需要一个足够大的文件才能使结果有意义

否则,进行调用的开销是主要因素。
尝试此URL:

import requests

def get_speed(response):
    download_speed = len(response.content) / response.elapsed.microseconds
    return download_speed * 976.5625  # converting to kb/s

session = requests.Session()
url = "https://github.com/Apress/repo-with-large-file-storage/blob/master/LargeFile.zip?raw=true"
response = session.get(url, allow_redirects=True)
speed = get_speed(response)

print(f"The page was downloaded with a speed of {speed}kb/s")

相关问题