本文来源吾爱破解论坛
有一些情况下,我们需要获取一些Web站点的响应时间情况,并对此采取一些措施,因此自己编写了下面的程序,方便各位和自己用到时翻阅。
先说一下环境, Python3 + requests 库,可通过 pip直接安装。
使用时将需要测试的url放在url_list数组中后,即可安心的食用本程序。
[Python] 纯文本查看 复制代码
# 存储待分析的URL url_list = [ 'https://www.baidu.com', 'https://blog.csdn.net/', 'https://11www.runoob.com/' ]运行后的截图如下:其中请求失败的在“无法请求到的网址”后面打印,其他的在“统计信息如下”后面打印。
源码文件请点击此处(解压密码:52pojie):[url=]main.zip[/url]
源码如下:[Python] 纯文本查看 复制代码
import requests from operator import itemgetter # 存储待分析的URL url_list = [ 'https://www.baidu.com', 'https://blog.csdn.net/', 'https://11www.runoob.com/' ] # 请求网址, 返回响应时间 # 输入参数 # url: 网址 # time:超时时间 #返回 # 请求时间数组 def GetRequestTime(url, time=10): ret = [] for i in range(0, time): _t = None try: urlData = requests.get(url) if urlData.status_code != 200: _t = None else: _t = urlData.elapsed.total_seconds() except Exception as err: #print(f'err requestUrl({url})\n', err) _t = None if _t is not None: ret.append(_t) return ret if ret else None # 计算 list 的最大值、最小值、平均值 # 输入参数 # url: 网址 # list:请求时间数组 # 返回 # 包含网址、最大值、最小值、平均值的字典 def GetAnalyInfo(url,list): if list is None: return None _max = max(list) _min = min(list) _avg = sum(list)/len(list) return { "url":url, 'max':_max, 'min':_min, 'avg':_avg } # 排序算法 # 输入 # dict 请求时间字典 # cmpkey 排序key 可按照 最大值(max)、最小值(min)、平均值(avg)排序 def sortAnalyInfo(dict, cmpkey="avg"): ret = sorted(dict, key=itemgetter(cmpkey)) return ret if __name__ == "__main__": reqtime = [] error_url = [] for _url in url_list: t = GetRequestTime(_url) reqtime.append(GetAnalyInfo(_url, t)) if t is not None else error_url.append(_url) info = sortAnalyInfo(reqtime) if error_url: print("无法请求到的网址:") for u in error_url : print(u) print("统计信息如下:") for i in info: print(i)
1.PNG (21.16 KB, 下载次数: 0)
下载附件 保存到相册
2019-8-21 16:31 上传
运行结果图
main.zip
2019-8-21 16:37 上传
点击文件名下载附件
下载积分: 吾爱币 -1 CB1.09 KB, 下载次数: 2, 下载积分: 吾爱币 -1 CB
解压密码:52pojie
版权声明:
本站所有资源均为站长或网友整理自互联网或站长购买自互联网,站长无法分辨资源版权出自何处,所以不承担任何版权以及其他问题带来的法律责任,如有侵权或者其他问题请联系站长删除!站长QQ754403226 谢谢。