Я понимаю, что было много сообщений о таких встречах, как Asynchronous Requests with Python requests , в котором описывается базовое использование grequests и как отправлять крючки через grequests.get()
. Я вытащил этот бит кода прямо из этой ссылки.вызов функций через grequests
import grequests
urls = [
'http://python-requests.org',
'http://httpbin.org',
'http://python-guide.org',
'http://kennethreitz.com'
]
# A simple task to do to each response object
def do_something(response):
print ('print_test')
# A list to hold our things to do via async
async_list = []
for u in urls:
action_item = grequests.get(u, hooks = {'response' : do_something})
async_list.append(action_item)
# Do our list of things to do via async
grequests.map(async_list)
Когда я запускаю это, однако, я не получаю никакого выхода
/$ python test.py
/$
, так как есть 4 ссылки я бы ожидать выход быть
print_test
print_test
print_test
print_test
Я искал вокруг и гавани» я был в состоянии найти причину отсутствия выхода. Забавно, что есть немного ключевой информации, которую мне не хватает.
Удивительная благодарность за ответ, просто попробовав его, и он отлично работает! Я считаю, что вы правильно разбираетесь в количестве аргументов. – user3267256
печатных kwargs. Вывернутая библиотека пропускает целую кучу аргументов ключевого слова для вашей функции hook. '{'proxies': OrderedDict(), 'timeout': None, 'stream': False, 'cert': None, 'verify': True}' –