一、安装redis镜像

1. 搜索

1
docker search redis

2. 拉取

1
docker pull redis

3. 启动

1
docker run -itd --name redis-test -p 6379:6379 redis

4. 测试

1
docker exec -it redis-test /bin/bash

二、安装代理池

1. 项目地址

https://github.com/jhao104/proxy_pool

1. 拉取

1
docker pull jhao104/proxy_pool

2. 启动

1
2
3
4
5
eg:
docker run --env DB_CONN=redis://:password@ip:port/db -p 5010:5010 jhao104/proxy_pool:latest
实例:
docker run --env DB_CONN=redis://:@127.0.0.1:6379/db -p 5010:5010 jhao104/proxy_pool:latest
#默认密码为空,默认端口为6379

3. 若拉取镜像无法成功连接redis

使用git下载,然后启动

git clone

1
git clone git@github.com:jhao104/proxy_pool.git

安装依赖

1
pip install -r requirements.txt

更新配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# setting.py 为项目配置文件

# 配置API服务

HOST = "0.0.0.0" # IP
PORT = 5000 # 监听端口


# 配置数据库

DB_CONN = 'redis://:pwd@127.0.0.1:8888/0'


# 配置 ProxyFetcher

PROXY_FETCHER = [
"freeProxy01", # 这里是启用的代理抓取方法名,所有fetch方法位于fetcher/proxyFetcher.py
"freeProxy02",
# ....
]

启动项目

  1. windows下
1
2
3
4
5
6
7
8
# 如果已经具备运行条件, 可用通过proxyPool.py启动。
# 程序分为: schedule 调度程序 和 server Api服务

# 启动调度程序
python proxyPool.py schedule

# 启动webApi服务
python proxyPool.py server
  1. linux下

可直接启动

1
./start.sh

三、设置代理服务器

1. 项目地址

GUI版:https://github.com/chroblert/JCRandomProxy

Java版:https://github.com/safe6Sec/proxyServer

python版:https://blog.csdn.net/xsjyahoo/article/details/51568712(需要自己动手添加获取代理池部分的代码,推荐)

2. 下载启动

省略

四、浏览器设置proxy

将浏览器的代理设置为上面两个项目之一的代理服务器。

比如我使用的是项目二来自动代理

启动命令:

1
java -jar proxyServer.jar 8081

浏览器代理设置为

1
127.0.0.1 8081

五、测试

开启代理后访问http://httpbin.org/ip,会发现ip已经发生变化。

六、可能出现的错误

运行代理池,提示无法连接redis数据库

解决方法:

1.查找redis进程

1
ps -ef | grep redis

image-20210821112211527

2.杀死redis进程

1
kill -9 73652

3.启动redis-server

1
redis-server

4.测试

1
2
3
redis-cli -h 127.0.0.1 -p 6379

redis-cli

秒连redis。

此时再运行代理池项目可以成功了。