使用docker方式部署
部署redis
#注释掉这部分,这是限制redis只能本地访问
bind 0.0.0.0
#默认yes,开启保护模式,限制为本地访问
protected-mode no
#默认no,改为yes意为以守护进程方式启动,可后台运行,除非kill进程,改为yes会使配置文件方
daemonize no
#redis持久化(可选)
appendonly yes
#设置密码
requirepass xxxx
mkdir -p /usr/local/redis
docker run -p 6379:6379 --name redis -v /usr/local/redis/redis.conf:/etc/redis/redis.conf -v /usr/local/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes
部署代理池程序
docker pull jhao104/proxy_pool
docker run --env DB_CONN=redis://:password@ip:port/0 -p 5010:5010 jhao104/proxy_pool:latest
使用
- API
启动web服务后,默认配置下会开启http://127.0.0.1:5010的api接口服务:
应用程序编程接口 |
方法 |
描述 |
参数 |
/ |
得到 |
api介绍 |
没有任何 |
/得到 |
得到 |
随机获取一个代理 |
可选参数:?type=https 过滤支持https的代理 |
/流行音乐 |
得到 |
获取并删除一个代理 |
可选参数:?type=https 过滤支持https的代理 |
/全部 |
得到 |
获取所有代理 |
可选参数:?type=https 过滤支持https的代理 |
/数数 |
得到 |
查看代理数量 |
没有任何 |
/删除 |
得到 |
删除代理 |
?proxy=host:ip |
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))
def getHtml():
retry_count = 5
proxy = get_proxy().get("proxy")
while retry_count > 0:
try:
html = requests.get('http://www.example.com', proxies={"http": "http://{}".format(proxy)})
return html
except Exception:
retry_count -= 1
delete_proxy(proxy)
return None
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix