python中urllib的响应时间 [英] Response time for urllib in python

查看:55
本文介绍了python中urllib的响应时间的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在使用 urllib 时获得响应时间.我做了下面的代码,但它不仅仅是响应时间.我可以使用 urllib 或其他任何方法来获取时间吗?

导入urllib导入日期时间定义主():网址列表 = ["http://google.com",]对于 urllist 中的 url:开瓶器 = urllib.FancyURLopener({})尝试:开始 = datetime.datetime.now()f = opener.open(url)结束 = datetime.datetime.now()差异 = 结束 - 开始打印 int(round(diff.microseconds/1000))除了 IOError,e:打印错误",网址别的:打印 f.getcode(), f.geturl()如果 __name__ == "__main__":主要的()

解决方案

为自己省去一些麻烦并使用 requests 模块.在其响应中,它提供了一个名为elapsed"的 datetime.timedelta 字段,它可以让您知道请求花费了多长时间.

<预><代码>>>>进口请求>>>response = requests.get('http://www.google.com')>>>打印 response.elapsed0:00:01.762032>>>响应.经过datetime.timedelta(0, 1, 762032)

I want to get response time when I use urllib. I made below code, but it is more than response time. Can I get the time using urllib or have any other method?

import urllib
import datetime

def main():
    urllist = [
        "http://google.com",
    ]

    for url in urllist:
        opener = urllib.FancyURLopener({})
        try:
            start = datetime.datetime.now()
            f = opener.open(url)
            end = datetime.datetime.now()
            diff = end - start
            print int(round(diff.microseconds / 1000))
        except IOError, e:
            print 'error', url
        else:
            print f.getcode(), f.geturl()

if __name__ == "__main__":
    main()

解决方案

Save yourself some hassle and use the requests module. In its responses it provides a datetime.timedelta field called 'elapsed' that lets you know how long the request took.

>>> import requests
>>> response = requests.get('http://www.google.com')
>>> print response.elapsed
0:00:01.762032
>>> response.elapsed
datetime.timedelta(0, 1, 762032)

这篇关于python中urllib的响应时间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆