# Oczywiście warto używać modułów natywnie asynchronicznych od razu jeśli jest to możliwe: https://github.com/timofurrer/awesome-asyncio
import asyncio
import urllib.request
def get_page(url):
with urllib.request.urlopen(url) as f:
return f.read(100).decode('utf-8') # Zwraca jedynie 100 pierwszych znaków dla zobrazowania jako przykład
async def main():
urls = [' https://www.google.pl' for _ in range(10)] # Ta sama strona 10 razy jako przykład - ale tu należy podać swoją listę stron
tasks =[asyncio.to_thread(get_page, url) for url in urls]
return await asyncio.gather(*tasks)
results = asyncio.run(main())
[print(result) for result in results]
Kod działa jedynie z Pythonem 3.9 lub wyższym.
Dla starszych wersji Pythona można użyć staroszkolnego podejścia z ThreadPoolExecutor lub metody run_in_executor dla loop z modułu asyncio.
#technologia #komputery #programowanie #python
Brakuje tutaj kolorowania składni :d
@hejto - @rayros mówi, że brakuje tutaj kolorowania składni
A brakuje przede wszystkim możliwość umieszczania bloków kodu.
Zaloguj się aby komentować