python中urllib的响应时间 [英] Response time for urllib in python
本文介绍了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屋!
查看全文