简单代理池搭建

使用github开源项目proxy_pool搭建代理池:https://github.com/jhao104/proxy_pool

1、将项目拷到主机,并解压,安装python依赖。 使用pip install requirements.txt可安装文件内依赖包。

2、配置setting.py文件

3、搭建Redis服务(需要连接到redis服务,此处我用到yum自己安装的redis,启动redis服务,为redis配置密码,否则代理发送认证会报错。)

4、启动代理服务,分别使用python proxyPool.py server(环境为python3的情况)

Python proxyPool.py schedule。

也可以通过修改start.sh中python xxx为python3 xxx。使用"./start.sh启动。"启动。

5、测试是否搭建成功

访问本机5555端口/get/获取代理IP。

获取到47.56.69.11:8000代理

服务端收到日志

使用windows挂服务器代理再访问,结合tinyproxy代理

获取代理地址

6、代理API,可用于爬虫等。附封装函数。

封装函数:

import requests
def get_proxy():
    return requests.get("http://127.0.0.1:5010/get/").json()
def delete_proxy(proxy):
requests.get("http://127.0.0.1:5010/delete/?proxy={}".format(proxy))
def getHtml():
    retry_count = 5
    proxy = get_proxy().get("proxy")
    while retry_count > 0:
        try:
            html = requests.get('http://www.example.com', proxies={"http": "http://{}".format(proxy)})
            # 使用代理访问
            return html
        except Exception:
            retry_count -= 1
    # 删除代理池中代理
    delete_proxy(proxy)
    return None
posted @   掌柜家的小二  阅读(144)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示