前言
上面是去年写过一篇对另一个爬虫代理池的文章,这个代理池比较精简,资源消耗略小,而且效率高不少。
安装过程
-
创建虚拟环境(非必须)
保险起见,最好创建一个虚拟环境。
安装virtualenv
pip3 install virtualenv
创建纯净的虚拟环境
virtualenv --no-site-packages proxypool
激活虚拟环境
cd proxypool source ./bin/activate
当看到命令提示符前缀改变了,就说明虚拟环境切换成功了。
-
克隆仓库
git clone https://github.com/Python3WebSpider/ProxyPool
-
安装依赖
cd ProxyPool pip3 install -r requirements.txt
-
创建启动脚本
这个项目的所有配置项都是通过环境变量来设置的,所以推荐创建一个启动脚本。
所有可配置项请参考项目主页- Linux
#!/bin/bash export REDIS_HOST='localhost' #Redis主机 export REDIS_PORT=6379 #Redis端口 export REDIS_PASSWORD='' #Redis连接密码 export APP_DEBUG=false #是否启用调试模式 export APP_ENV='prod' #运行环境 [dev|test|prod](开发|测试|生产环境) export API_HOST='0.0.0.0' #访问API的IP export API_PORT=5555 #访问API的端口 python3 ./run.py
记得给启动脚本执行权限
- Windows
set REDIS_HOST="localhost" set REDIS_PORT=6379 set REDIS_PASSWORD='' set APP_DEBUG=false set APP_ENV='prod' set API_HOST='0.0.0.0' set API_PORT=5555 python3 run.py
- Linux
-
添加获取全部代理的API【可选】
文件路径ProxyPool/proxypool/processors/server.py
# 添加到38行左右,get_proxy函数的下面 @app.route('/get_all') def get_all_proxy(): """ get a random proxy :return: get a random proxy """ conn = get_conn() proxies = [x.string() for x in conn.all()] return '<br>'.join(proxies)
-
启动爬虫
使用启动脚本运行,如果看到这样的日志就说明你已经弄好了
使用
API地址 | 方法 | 说明 |
---|---|---|
/ | GET | api介绍 |
/get | GET | 获取随机代理 |
/get_all | GET | 获取所有代理(需要修改程序) |
/count | GET | 查看可用代理的数量 |
例如,想获取一个随机代理就可以访问
http://127.0.0.1:5555/get
本文链接:https://blog.chrxw.com/archives/2020/07/05/1260.html
转载请保留本文链接,谢谢