JDKHOME JDKHOME
  • Web

    • 权限框架Twiggy
    • 脚手架BLZO
  • 杂货
技术思考
  • Kubernetes
  • 文档
  • jdkhome
  • 友链
  • 版权声明
  • 分类
  • 标签
  • 归档
  • Web

    • 权限框架Twiggy
    • 脚手架BLZO
  • 杂货
技术思考
  • Kubernetes
  • 文档
  • jdkhome
  • 友链
  • 版权声明
  • 分类
  • 标签
  • 归档
  • OneDrive-FTP
  • Cloudreve
  • Proxy-Pool
    • 部署
    • 使用
    • 所有配置
    • 集群部署
    • 其他
  • 杂货
linkji
2020-06-12

质量优先的免费代理池

# 质量优先的免费代理池

爬虫抓取多家免费代理,根据配置的检查地址检查代理

此代理池并不以数量取胜,而是以质量为目标,从代理池中获取到的代理都是检查验证过的,为防止代理失效,每次使用时都应该从代理池获取新的代理,随用随取。

支持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

# 使用

# 获取单条代理 返回单条代理
~ 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

# 所有配置

名称 描述 默认值
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

← Cloudreve

最近更新
01
搭建redis
11-21
02
istio安装
10-25
03
搭建K8S高可用集群
09-13
更多文章>
鄂ICP备15015406号 | Copyright © 2015-2020 jdkhome
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式