技术分享:Proxy-Pool代理池搭建IP代理

提示:本章内容仅供参考,不涉及实际使用。


前言

本章内容仅供参考,不涉及实际使用,主要使用Python环境和Redis数据库进行环境搭建,工具网盘存储如下,有问题可以私聊我。
网址:https://wwgn.lanzoul.com/b03w0tvja 密码:am5m

一、环境准备

1、Python3.10/.7
2、Redis5.0.10
3、Proxy-pool2.4.1

二、搭建过程

1.Redis数据库搭建

1、首先确定好环境是否准备好,提前安装好Python3.10.7环境。
在这里插入图片描述
2、环境准备好后,首先配置Redis数据库环境,进入到Redis数据库的根目录文件夹,在文件夹中打开cmd窗口,输入命令启动redis服务。
命令:redis-server.exe redis.windows.conf
在这里插入图片描述
3、确定能够启动redis服务后,将该窗口关闭,接下来需要将redis服务安装到Windows服务中,新开一个cmd窗口,输入命令将redis安装到Windows服务中,安装完成后,打开运行框输入services.msc打开服务,查看是否成功安装redis服务。
命令:redis-server.exe --service-install redis.windows.conf
在这里插入图片描述
4、确定添加成功后,再次通过命令启动redis服务,关闭所有cmd窗口,再打开一个新的cmd窗口,输入命令启动redis服务。(start代表开启,stop代表关闭)
命令:redis-server.exe --service-start
在这里插入图片描述
5、接下来测试是否成功开启redis服务,输入命令,如出现下列信息则代表开启成功。
命令:redis-cli.exe -h 127.0.0.1 -p 6379
在这里插入图片描述

2.Proxy-Pool代理池搭建

1、首先要安装依赖环境,这里需要注意Python版本问题,由于Proxy-pool代理池是基于Python3.6制作的,所以需要将依赖文件中的版本号进行删除,交给pip进行适应版本下载,打开requirements.txt文件,将后面的版本号连同等于号一起删除,保留如下。
在这里插入图片描述
2、修改完毕后,使用PIP安装依赖环境,输入命令。
命令:pip install -r requirements.txt
在这里插入图片描述
3、环境依赖安装完毕后,需要将Proxy-pool的配置文件进行修改,打开setting.py文件,修改数据库密码,端口号等信息,根据自己的需求进行修改。
在这里插入图片描述
4、配置完毕后启动项目,这里需要启动两个程序,分别是调度程序和代理池的API接口程序。首先启动调度程序,打开cmd输入命令。
命令:python proxyPool.py schedule
在这里插入图片描述
5、如图所示开始采集IP地址,等待IP地址采集稳定后,开启API接口程序,新开一个cmd输入命令。
命令:python proxyPool.py server
在这里插入图片描述
6、两个程序开启以后,测试API调用是否成功,打开浏览器,输入网址进行查看,发现IP地址每次刷新都会改变,证明API接口调用成功,实验完成。
地址:http://127.0.0.1:5010/get/
在这里插入图片描述
7、可使用测试程序测试代理池是否可用,代码如下(引用博客):

import requests 
  
def get_proxy(): 
    #5000:settings中设置的监听端口,不是Redis服务的端口 
    return requests.get("http://127.0.0.1:5000/get/").json() 
  
def delete_proxy(proxy): 
    requests.get("http://127.0.0.1:5000/delete/?proxy={}".format(proxy)) 
  
# 主代码 
def getHtml(): 
    retry_count = 5 
    proxy = get_proxy().get("proxy") 
    print(proxy) 
    while retry_count > 0: 
        try: 
            html = requests.get('http://www.baidu.com', proxies={"http": "http://{}".format(proxy)}) 
            print(html.text) 
            break 
        except Exception: 
            retry_count -= 1 
    # 删除代理池中代理 
    delete_proxy(proxy) 
    return None 
  
getHtml()

总结

本文经过测试证实可用,常见问题包括数据库密码错误,Python版本不正确,服务运行状态检测等,排除对应故障即可正常使用,如需引用代理池可自行研究。

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hskb

谢谢哥谢谢哥

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值