簡介
asyncio可以實現單線程併發IO操作,是Python中常用的異步處理模塊。關於asyncio模塊的介紹,筆者會在後續的文章中加以介紹,本文將會講述一個基於asyncio實現的HTTP框架——aiohttp,它可以幫助我們異步地實現HTTP請求,從而使得我們的程序效率大大提高。
本文將會介紹aiohttp在爬蟲中的一個簡單應用。
在原來的項目中,我們是利用Python的爬蟲框架scrapy來爬取噹噹網圖書暢銷榜的圖書信息的。在本文中,筆者將會以兩種方式來製作爬蟲,比較同步爬蟲與異步爬蟲(利用aiohttp實現)的效率,展示aiohttp在爬蟲方面的優勢。
同步爬蟲
首先,我們先來看看用一般的方法實現的爬蟲,即同步方法,完整的Python代碼如下: