简介并发
asyncio能够实现单线程并发IO操做,是Python中经常使用的异步处理模块。关于asyncio模块的介绍,笔者会在后续的文章中加以介绍,本文将会讲述一个基于asyncio实现的HTTP框架——aiohttp,它能够帮助咱们异步地实现HTTP请求,从而使得咱们的程序效率大大提升。
本文将会介绍aiohttp在爬虫中的一个简单应用。
在原来的项目中,咱们是利用Python的爬虫框架scrapy来爬取当当网图书畅销榜的图书信息的。在本文中,笔者将会以两种方式来制做爬虫,比较同步爬虫与异步爬虫(利用aiohttp实现)的效率,展现aiohttp在爬虫方面的优点。框架
同步爬虫异步
首先,咱们先来看看用通常的方法实现的爬虫,即同步方法,完整的Python代码以下:scrapy