前言
通过jhao104/proxy_pool项目实现爬虫通过IP代理池获取代理IP
准备工作
下载项目
1 2
| git clone https://github.com/jhao104/proxy_pool.git cd proxy_pool
|
Docker部署
redis://:密码@IP地址:端口号/数据库
:通过redis协议进行连接,可以指定密码,如果不指定密码可以省略
1
| docker run --env DB_CONN=redis://127.0.0.1:6379/1 -p 5010:5010 jhao104/proxy_pool:latest
|
手动部署
下载依赖
1
| pip3 install -r requirements.txt
|
修改配置
HOST
:指定服务的访问地址
PORT
:指定服务监听的端口号
DB_CONN
:设置连接
redis://:密码@IP地址:端口号/数据库
:通过redis协议进行连接,可以指定密码,如果不指定密码可以省略
setting.py
1 2 3
| HOST = "0.0.0.0" PORT = 5010 DB_CONN = 'redis://127.0.0.1:6379/1'
|
启动调度程序
1
| python3 proxyPool.py schedule
|
启动webApi服务
1
| python3 proxyPool.py server
|
使用IP代理
<url>
:请求地址
1 2 3 4 5 6 7 8 9 10 11 12 13
| import requests
def get_proxy(): return requests.get("http://127.0.0.1:5010/get/").json()
def delete_proxy(proxy): requests.get("http://127.0.0.1:5010/delete/?proxy={}".format(proxy))
proxy = get_proxy().get("proxy") response = requests.get(<url>, proxies={"http": "http://{}".format(proxy)})
|
完成
参考文献
知乎——CDA数据分析师