项目需要,在此部署一个代理IP池,在github上寻找到一个名为IPProxy项目
运行环境 Runtime environment
1 | 操作系统 : Ubuntu18.04LTS |
背景
项目的数据需要爬虫的支持,爬虫需要则需要IP代理池,来提高采集速度。由于爬取对象多少都会对同IP的请求量做出限制。
于是就在在github上寻找到一个名为IPProxy项目,这是一个代理池。
但是看起来也有一年不更新了..加上一些自己项目的需要,会对这个代理池进行特化的重构。
fork要是提交过去,也不知道领不领情就是了..2333
下载IPProxy
IPProxy点击此处,到有关页面下载或者运行(前提本机已经安装git工具)如下命令:
在这里为了方便我的做法是,使用Pycharm。VCS>Checkout from Version Control>Git:
将克隆地址“https://github.com/qiyeboy/IPProxyPool.git”复制进去确定也行。
环境配置
该项目中的readme.md说明文件中这样提到:1
2
3
4
5
6
7
8
9
10
11
12
13
141.安装sqlite数据库(一般系统内置):
apt-get install sqlite3
<br/>
2.安装requests,chardet,web.py,gevent psutil:
pip install requests chardet web.py sqlalchemy gevent psutil
<br/>
3.安装lxml:
apt-get install python-lxml
<br/>
注意:
* python3下的是pip3
* 有时候使用的gevent版本过低会出现自动退出情况,请使用pip install gevent --upgrade更新)
* 在python3中安装web.py,不能使用pip,直接下载py3版本的[源码](https://codeload.github.com/webpy/webpy/zip/py3)进行安装
其实也不用上面说的这么麻烦就是啦…我给出我的快速部署方案。
将项目中的requirements.txt文件的内容改为:1
2
3
4
5
6
7
8
9chardet==2.3.0
gevent==1.2.0
greenlet==0.4.11
lxml==4.2.5
psutil==5.4.8
redis==2.10.5
requests==2.12.4
SQLAlchemy==1.1.4
web.py==0.40.dev0
你可以根据自己的需要选择是否创建虚拟环境。
这里以Ubuntu18.04为例,在requirements.txt的目录中,打开终端的命令窗口,并运行如下命令:
sudo apt-get install -y python3-dev build-essential libssl-dev libffi-dev libffi-dev libffi-dev libxml2 libxml2-dev libxslt1-dev zlib1g-dev
pip install -r requirements.txt
安装所需要的依赖包,并依照requirements.txt完成pip list的安装。
运行使用
这一步都很简答了,其实项目说明书解释得很清楚。
将项目目录clone到当前文件夹
$ git clone
切换工程目录
1 | $ cd IPProxyPool |
运行脚本
1 | python IPProxy.py |
成功运行后,打印信息1
2
3
4
5IPProxyPool----->>>>>>>>beginning
http://0.0.0.0:8000/
IPProxyPool----->>>>>>>>db exists ip:0
IPProxyPool----->>>>>>>>now ip num < MINNUM,start crawling...
IPProxyPool----->>>>>>>>Success ip num :134,Fail ip num:7882
总结
更多用法参考原项目说明IPProxy。