Python Asynchronous Dengan Aiohttp Client

Subscribe Dengan Account Google Untuk Membaca Artikel Tanpa Iklan

Python 3.5 keatas, menambahkan beberapa sintaks baru yang memungkinkan pengembang membuat aplikasi dan paket asinkron lebih mudah. Salah satu paket tersebut adalah aiohttp yang merupakan client / server HTTP untuk asyncio.

Pada dasarnya ini memungkinkan Anda untuk menulis asynchronous klien dan server. Paket aiohttp juga mendukung Server WebSockets dan Client WebSockets. Anda bisa menginstal aiohttp menggunakan pip :

pip install aiohttp

perhatikan sample di bawah ini, bagaimana aiohttp mendownload sebuah halaman website

import aiohttp
import asyncio
import async_timeout

class PageAsync(object):
async def fetch(session, url):
with async_timeout.timeout(10):
async with session.get(url) as response:
return await response.text()

async def main(loop):
async with aiohttp.ClientSession(loop=loop) as session:
html = await PageAsync.fetch(session, 'https://www.tiket.com/')
return html

loop = asyncio.get_event_loop()
response = loop.run_until_complete(PageAsync.main(loop))
print(response)

 

documentation aiohttp : http://aiohttp.readthedocs.io/en/stable/