example_of_aiohttp.py 780 B

123456789101112131415161718192021222324252627282930
  1. import asyncio
  2. import re
  3. import aiohttp
  4. PATTERN = re.compile(r'\<title\>(?P<title>.*)\<\/title\>')
  5. async def show_title(url):
  6. async with aiohttp.ClientSession() as session:
  7. resp = await session.get(url, ssl=False)
  8. html = await resp.text()
  9. print(PATTERN.search(html).group('title'))
  10. def main():
  11. urls = ('https://www.python.org/',
  12. 'https://git-scm.com/',
  13. 'https://www.jd.com/',
  14. 'https://www.taobao.com/',
  15. 'https://www.douban.com/')
  16. # asyncio.set_event_loop_policy(uvloop.EventLoopPolicy())
  17. # 获取事件循环()
  18. loop = asyncio.get_event_loop()
  19. tasks = [show_title(url) for url in urls]
  20. loop.run_until_complete(asyncio.wait(tasks))
  21. if __name__ == '__main__':
  22. main()