质量优先的免费代理池
# 质量优先的免费代理池
爬虫抓取多家免费代理,根据配置的检查地址检查代理
此代理池并不以数量取胜,而是以质量为目标,从代理池中获取到的代理都是检查验证过的,为防止代理失效,每次使用时都应该从代理池获取新的代理,随用随取。
支持2级代理,即代理池本身提供代理服务,使用代理池的代理服务时,代理池会将其转发至已有的可用代理
- 必须配置redis
- 请使用最新的版本 0.0.6
# 部署
docker run -d \
--name proxy-pool \
--restart=always \
-p 2233:2233 \
-p 2333:2333 \
-e CONFIG_REDIS_HOST=[redis_host:port] \
-e CONFIG_REDIS_PWD=[redis_password] \
jdkhome/proxy-pool:0.0.6
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 使用
# 获取单条代理 返回单条代理
~ curl http://192.168.1.190:2233
http://191.97.9.36:9991
# 批量获取代理 返回json数组
~ curl http://192.168.1.190:2233?count=5
["http://5.196.1.235:3128","http://149.248.52.175:8080","http://223.241.5.13:4216","http://58.251.234.201:9797","http://178.33.251.230:3129"]
# 向代理池中加入代理 返回加载条数
~ curl -X PUT http://192.168.1.190:2233 -H 'Content-type':'application/json' -d "{\"proxys\":[\"http://213.6.162.6:8080\",\"http://125.209.73.170:3128\"]}"
2
# 使用代理服务(注意端口和http服务端口不同)
~ curl https://api.myip.com --proxy http://192.168.1.190:2333
{"ip":"128.199.151.21","country":"Singapore","cc":"SG"}
~ curl https://api.myip.com --proxy http://192.168.1.190:2333
{"ip":"139.162.57.51","country":"Singapore","cc":"SG"}
~ curl https://api.myip.com --proxy http://192.168.1.190:2333
{"ip":"58.220.95.78","country":"China","cc":"CN"}
~ curl https://api.myip.com --proxy http://192.168.1.190:2333
{"ip":"82.200.233.4","country":"Kazakhstan","cc":"KZ"}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 所有配置
名称 | 描述 | 默认值 |
---|---|---|
CONFIG_HTTPPORT | http服务端口号 | 2233 |
CONFIG_PROXYPORT | proxy服务端口号 | 2333 |
CONFIG_TESTURL | 验证代理的地址(http code 200 即通过) | https://www.baidu.com/robots.txt |
CONFIG_TESTTIMEOUT | 验证代理时的timeout(单位秒) | 15 |
CONFIG_BLACKTIMEOUT | 黑名单超时时间(单位秒) | 180 |
CONFIG_REDIS_HOST | redis连接地址 | 192.168.1.116:6379 |
CONFIG_REDIS_PWD | redis 密码 | ikun520520520 |
CONFIG_REDIS_DB | redis db | 1 |
CONFIG_REDIS_KEYPREFIX | redis键前缀 | proxy_pool |
CONFIG_CHECKNUMS | 用于检查代理的携程数量 | 100 |
CONFIG_TESTNUMS | 同于测试代理的携程数量 | 200 |
CONFIG_TRYCOUNT | 代理模式尝试的代理数量 | 10 |
# 集群部署
此代理池支持集群部署,不同节点只需指定相同的验证地址和redis配置,即可自动组成集群并自动协调代理测试和验证任务。
可根据不同机器的配置自行调整每个节点的携程数量,节点多的话也可以把黑名单时间降低
可为代理服务部署负载均衡
# 其他
免费代理质量真的不高,所以建议根据自己程序的需求,来配置代理池的检测规则
上次更新: 2020/06/12, 14:06:00