python中ihttplib,httplib2,urllib2在http请求时哪个更快
= time.time()
httplib2.Http().request(url)
t6 = time.time()
http2 = t6-t5
t3 = time.time()
req = httplib.HTTPConnection(com')
req.request('GET', '/')
t4 = time.time()
http = t4-t3
t1 = time.time()
urllib2.urlopen(url)
t2 = time.time()
urll = t2-t1
print http2
print httpprint urll
结果:
0.156999826431
0.0150001049042
0.0780000686646
我写了如上代码测试的时候通常都是httplib的速度较快.实际过程中也是如此吗?还是我测试的不对。还有head请求与get请求,为什么head请求测试的时候感觉并没有节省时间呢。我想写爬虫程序,希望速度能更快。
不知道你做了多少次重复的测试呢,单凭一次的测试结果不说明任何问题,我觉得有以下几点可以说明
抓取网页的时间很多取决于http连接建立和数据传输的时间,所以网络状况的影响很大,如果每次都是重新建立连接,和采用什么python库关系不大
urllib3可以复用tcp连接来进行多次http请求,所以可以省掉重新建立tcp的时间;requests会检查是否安装了urllib3。
head/get请求的时间取决于你请求的server端是否对这两种请求做了不同的处理,如果没有区分的话,两种请求也就没有区别