之前介紹的Requests庫是一個阻塞式HTTP請求庫,當我們發出一個請求後,程序會一直等待服務器響應,直到得到響應後,程序纔會進行下一步處理。其實,這個過程比較耗費資源。如果程序可以在這個等待過程中做一些其他的事情,如進行請求的調度、響應的處理等,那麼爬取效率一定會大大提高。
aiohttp就是這樣一個提供異步Web服務的庫,從Python 3.5版本開始,Python中加入了async/await關鍵字,使得回調的寫法更加直觀和人性化。aiohttp的異步操作藉助於async/await關鍵字的寫法變得更加簡潔,架構更加清晰。使用異步請求庫進行數據抓取時,會大大提高效率,下面我們來看一下這個庫的安裝方法。
1. 相關鏈接
2. pip安裝
這裏推薦使用pip安裝,命令如下:
pip3 install aiohttp
另外,官方還推薦安裝如下兩個庫:一個是字符編碼檢測庫cchardet,另一個是加速DNS的解析庫aiodns。安裝命令如下:
pip3 install cchardet aiodns
3. 測試安裝
安裝完成之後,可以在Python命令行下測試:
12 $ python3 >>> import aiohttp
如果沒有錯誤報出,則證明庫已經安裝好了。