Подскажите аналог библиотеки requests (или другой подобной), который умел бы делать запросы асинхронно.
P.S python3
wegwgweg
Подскажите аналог библиотеки requests (или другой подобной), который умел бы делать запросы асинхронно.
import asyncio import aiohttp @asyncio.coroutine def get(method, url, **kwargs): response = yield from aiohttp.request(method, url, **kwargs) body = yield from response.read() return body @asyncio.coroutine def main(): tasks = [ asyncio.async(get('GET', 'http://python.org')), asyncio.async(get('GET', 'http://python.su')), asyncio.async(get('GET', 'http://python.net')), ] done, pending = yield from asyncio.wait(tasks) for item in done: print(item.result()) if __name__ == '__main__': loop = asyncio.get_event_loop() loop.run_until_complete(main())
wegwgweg
Немогли бы вы ещё немного помочь, я с асиннхронной моделью выполнения плохо знаком, не можете показать небольшой пример как с использованием aiohttp запустить на пример получение 10 страниц?
wegwgweg
какой- нибудь дельной ссылки, где объясняется принцип как пишется асинхронный код с помощью сопрограмм? Везде в основном пишут, что сопрограммы основаны на генераторах и на их основных свойствах