首先使用 git clone 将源代码拉到你本地
git clone https://github.com/Python3WebSpider/ProxyPool.git
接着打开项目中的 setting.py
在这里可以配置相关信息
比如 Redis 的地址密码相关
(如果你之前没有使用过 redis 的话,可以到如下地址下载 https://github.com/MicrosoftArchive/redis/releases)
接着在你 clone 下来的文件目录中
安装相关所需的 python 模块
pip3 install -r requirements.txt
redis 安装
Redis 的安装
访问地址:https://github.com/ServiceStack/redis-windows/tree/master/downloads
把 Redis 下载下来后找到一个合适的地方解压,就能得到如下图所示的目录(这里空格被替换成了%20...):
为了方便启动,我们在该目录下新建一个 startup.cmd 的文件,然后将以下内容写入文件:
redis-server redis.windows.conf
这个命令其实就是在调用 redis-server.exe 命令来读取 redis.window.conf 的内容,我们双击刚才创建好的 startup.cmd 文件,就能成功的看到 Redis 启动:
上图的提示信息告诉了我们:① Redis 当前的版本为 3.0.503;② Redis 运行在 6379 端口;③ Redis 进程的 PID 为 14748;④ 64 位。
我们可以打开同一个文件夹下的 redis-cli.exe 文件,这是 Redis 自带的一个客户端工具,它可以用来连接到我们当前的 Redis 服务器,我们做以下测试:
如此,我们便在 Windows 的环境下安装好了 Redis。
接下来开启你的 redis
redis 的默认端口就是 6379
接着就可以运行 run.py 了
代理池开始运行
* Running on http://0.0.0.0:5555/ (Press CTRL+C to quit)
开始抓取代理
获取器开始执行
Crawling http://www.66ip.cn/1.html
正在抓取 http://www.66ip.cn/1.html
抓取成功 http://www.66ip.cn/1.html 200
成功获取到代理 201.69.7.108:9000
成功获取到代理 111.67.97.58:36251
成功获取到代理 187.32.159.61:51936
成功获取到代理 60.13.42.154:9999
成功获取到代理 106.14.5.129:80
成功获取到代理 222.92.112.66:8080
成功获取到代理 125.26.99.84:60493
...
如果你在运行的时候出现这个错误
注意!!!
AttributeError: 'int' object has no attribute 'items'
更新一下 redis 版本
pip3 install redis==2.10.6
运行 run.py
这时候在你的 redis 中就有爬取到的代理 ip 了
项目跑起来之后
你就可以访问你的代理池了
比如随机获取一个代理 ip 地址
http://localhost:5555/random
这样访问之后就会获取到一个代理 ip
在代码中获取代理也不在话下啦
import requests
PROXY_POOL_URL = 'http://localhost:5555/random'
def get_proxy():
try:
response = requests.get(PROXY_POOL_URL)
if response.status_code == 200:
return response.text
except ConnectionError:
return None