python3-concurrency
1. 理论
- Python3爬虫系列01 (理论) - I/O Models 阻塞 非阻塞 同步 异步
- Python3爬虫系列02 (理论) - Python并发编程
- Python3爬虫系列06 (理论) - 可迭代对象、迭代器、生成器
- Python3爬虫系列07 (理论) - 协程
- Python3爬虫系列08 (理论) - 使用asyncio模块实现并发
2. 实验
- Python3爬虫系列03 (实验) - 同步阻塞下载
- Python3爬虫系列04 (实验) - 多进程并发下载
- Python3爬虫系列05 (实验) - 多线程并发下载
- Python3爬虫系列09 (实验) - 使用asyncio+aiohttp并发下载
3. 实战
4. 使用方法
4.1 Server
为防止DDoS攻击,本次测试需要在本地搭建一个HTTP测试服务器,具体方法参考 Python3爬虫系列03 (实验) - 同步阻塞下载
4.2 Client
(1) 下载代码
[root@CentOS ~]# git clone https://github.com/wangy8961/python3-concurrency.git
[root@CentOS ~]# cd python3-concurrency/
(2) 准备虚拟环境
如果你的操作系统是Linux
:
[root@CentOS python3-concurrency]# python3 -m venv venv3
[root@CentOS python3-concurrency]# source venv3/bin/activate
Windows
激活虚拟环境的命令是:venv3\Scripts\activate
(3) 安装依赖包
如果你的操作系统是Linux
:
(venv3) [root@CentOS python3-concurrency]# pip install -r requirements-linux.txt
如果你的操作系统是Windows
(不会使用uvloop
):
(venv3) C:\Users\wangy> pip install -r requirements-win32.txt
(4) 测试
依序下载:
(venv3) [root@CentOS python3-concurrency]# python sequential.py
多进程下载:
(venv3) [root@CentOS python3-concurrency]# python processpool.py
多线程下载:
(venv3) [root@CentOS python3-concurrency]# python threadpool.py
异步下载:
(venv3) [root@CentOS python3-concurrency]# python asynchronous.py