【Python3网络爬虫开发实战】1.2.6-aiohttp的安装
【摘要】之前介绍的Requests库是一个阻塞式HTTP请求库,当我们发出一个请求后,程序会一直等待服务器响应,直到得到响应后,程序才会进行下一步处理。其实,这个过程比较耗费资源。如果程序可以在这个等待过程中做一些其他的事情,如进行请求的调度、响应的处理等,那么爬取效率一定会大大提高。
aiohttp就是这样一个提供异步Web服务的库,从Python 3.5版本开始,Python中加入了async/await关键字,使得回调的写法更加直观和人性化。aiohttp的异步操作借助于async/await关键字的写法变得更加简洁,架构更加清晰。使用异步请求库进行数据抓取时,会大大提高效率,下面我们来看一下这个库的安装方法。
1. 相关链接
官方文档:http://aiohttp.readthedocs.io/en/stable
GitHub:https://github.com/aio-libs/aiohttp
PyPI:https://pypi.python.org/pypi/aiohttp
2. pip安装
这里推荐使用pip安装,命令如下:
pip3 install aiohttp
另外,官方还推荐安装如下两个库:一个是字符编码检测库cchardet,另一个是加速DNS的解析库aiodns。安装命令如下:
pip3 install cchardet aiodns
3. 测试安装
安装完成之后,可以在Python命令行下测试:
12 $ python3
>>> import aiohttp
如果没有错误报出,则证明库已经安装好了。
4. 结语
我们会在后面的实例中用到这个库,比如维护一个代理池时,利用异步方式检测大量代理的运行状况,会极大地提升效率。
来源:华为云社区 作者:崔庆才丨静觅
【Python3网络爬虫开发实战】1.2.6-aiohttp的安装相关推荐
- 【Python3网络爬虫开发实战】1.3.4-tesserocr的安装
在爬虫过程中,难免会遇到各种各样的验证码,而大多数验证码还是图形验证码,这时候我们可以直接用OCR来识别. 1. OCR OCR,即Optical Character Recognition,光学字符 ...
- 【Python3网络爬虫开发实战】1.7.3-Appium的安装
[摘要] Appium是移动端的自动化测试工具,类似于前面所说的Selenium,利用它可以驱动Android.iOS等设备完成自动化测试,比如模拟点击.滑动.输入等操作,其官方网站为:http:// ...
- 【Python3网络爬虫开发实战】 1.7.1-Charles的安装
[摘要] Charles是一个网络抓包工具,相比Fiddler,其功能更为强大,而且跨平台支持得更好,所以这里选用它来作为主要的移动端抓包工具. 1. 相关链接 官方网站:https://www.ch ...
- 【Python3网络爬虫开发实战】1.5.3-redis-py的安装
[摘要] 对于Redis来说,我们要使用redis-py库来与其交互,这里就来介绍一下它的安装方法. 1. 相关链接 GitHub:https://github.com/andymccurdy/red ...
- 【Python3网络爬虫开发实战】1.5.2-PyMongo的安装
[摘要] 在Python中,如果想要和MongoDB进行交互,就需要借助于PyMongo库,这里就来了解一下它的安装方法. 1. 相关链接 GitHub:https://github.com/mong ...
- 【Python3网络爬虫开发实战】1.5.1-PyMySQL的安装
[摘要] 在Python 3中,如果想要将数据存储到MySQL中,就需要借助PyMySQL来操作,本节中我们介绍一下它的安装方式. 1. 相关链接 GitHub:https://github.com/ ...
- 【Python3网络爬虫开发实战】1.3.3-pyquery的安装
pyquery同样是一个强大的网页解析工具,它提供了和jQuery类似的语法来解析HTML文档,支持CSS选择器,使用非常方便.本节中,我们就来了解一下它的安装方式. 1. 相关链接 GitHub:h ...
- 【Python3网络爬虫开发实战】1.3.1-lxml的安装
[摘要]lxml是Python的一个解析库,支持HTML和XML的解析,支持XPath解析方式,而且解析效率非常高.本节中,我们了解一下lxml的安装方式,这主要从Windows.Linux和Mac三 ...
- 【Python3网络爬虫开发实战】 1.2.2-Selenium的安装
[摘要]Selenium是一个自动化测试工具,利用它我们可以驱动浏览器执行特定的动作,如点击.下拉等操作.对于一些JavaScript渲染的页面来说,这种抓取方式非常有效.下面我们来看看Seleniu ...
最新文章
- java 对象被回收的例子_Java对象的后事处理——垃圾回收(二)
- MyBatis-Spring配置简单了解
- Linux系统 proc self,Linux内核源代码情形分析-特殊文件系统/proc-对/proc/self/cwd的访问...
- kmp2-HDU1358 HUST1010 POJ2406 POJ2752
- 块编码、对象编码、小波编码、分布式编码【转贴】
- [多图]Google Chrome漫画书中文版
- Spring Boot整合Swagger3注解@ApiImplicitParam的paramType属性为“path“
- vue 组件需要注意的事项:
- a(n+1) = f[a(n)] 型递推数列的迭代作图(玩计算器玩出了问题)
- 美国大学计算机学科分类
- 浅谈line-height 1
- python爬取百度迁徙数据_python爬虫-动态爬取百度迁徙
- Centos7安装MySQL客户端工具
- 2020我国夏季洪涝主要受灾区卫星影像记录
- Hello Ragel -- 生成状态机的神器
- 迅雷手机版苹果版_手机迅雷安卓版下载2019_迅雷手机版下载最新版
- php 7.4 编译安装
- html怎么做成正方形符号,javascript – Highcharts:使图例符号为正方形或矩形
- 水生植物拉丁文及缩写
- keras教程_Keras教程
热门文章
- s8 android10,旧机不是部部有 三星 Galaxy S8 将不会获得 Android 10 更新
- java 网页通讯_Vue+Java 通过websocket实现服务器与客户端双向通信操作
- python类class定义_python基础教程之类class定义使用方法
- Linux. C语言中else,2. if/else语句
- 为同一个元素绑定多个不同的事件,并指向相同的事件处理函数方法
- css :after和:before
- 图论——图的遍历(洛谷 P3916)
- mysql between 等于_MySQL中BETWEEN子句的用法详解
- MogDB数据库安装部署之xlog目录设置
- 《数据资产管理实践白皮书(5.0版)》正式发布,附下载链接