python requests请求_python-requests – 使用grequests发送请求池,如何获得每个请求的响应时间?...

grequests与请求一样,支持一个hook关键字参数,您可以在其中分配一个对响应对象执行某些操作的函数:

def do_something(response):

print response.status_code

unsentrequests=(grequests.get(u, hooks = {'response' : do_something}) for u in self.urls)

responses=grequests.map(unsentrequests)

我更喜欢使用gevent直接在循环中使用请求以获得更明确的代码:

import gevent.monkey

gevent.monkey.patch_socket()

from gevent.pool import Pool

import requests

def check_urls(urls):

def fetch(url):

response = requests.request('GET', url, timeout=5.0)

print "Status: [%s] URL: %s" % (response.status_code, url)

pool = Pool(20)

for url in urls:

pool.spawn(fetch, url)

pool.join()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值