简单代理池搭建
使用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