告别单 IP 限制:Python 批量获取 HTTP 代理 IP 教程
Python中批量获取并设置HTTP代理IP,可解决爬虫IP限制问题。以下是精简实用的实现方案,基于requests库,易上手、可直接使用。

前置准备:安装依赖 pip install requests,替换代理池API地址(支持开源或第三方代理服务)。
完整精简代码:
import requests
import random
# 配置(直接修改适配你的代理池)
PROXY_POOL_URL = "http://localhost:8000/get" # 代理池API
TARGET_COUNT = 10 # 批量获取数量
TIMEOUT = 10 # 超时时间
def get_proxies():
"""获取并筛选可用代理"""
try:
resp = requests.get(PROXY_POOL_URL, timeout=TIMEOUT)
resp.raise_for_status()
proxy_list = resp.json()
if not isinstance(proxy_list, list) or not proxy_list:
print("代理池数据异常")
return []
# 随机选择指定数量,不足则取全部
return random.sample(proxy_list, min(TARGET_COUNT, len(proxy_list)))
except Exception as e:
print(f"获取代理失败:{e}")
return []
def use_proxies(proxies):
"""测试并使用代理"""
valid = []
for proxy in proxies:
try:
resp = requests.get("http://www.example.com",
proxies={"http": proxy, "https": proxy},
timeout=TIMEOUT, allow_redirects=False)
if 200 <= resp.status_code < 300:
print(f"代理{proxy}可用")
valid.append(proxy)
except:
print(f"代理{proxy}不可用")
return valid
if __name__ == "__main__":
proxies = get_proxies()
if proxies:
valid_proxies = use_proxies(proxies)
print(f"最终可用代理:{valid_proxies}")
else:
print("无可用代理")
核心说明:代码整合核心功能,自动处理代理数量不足、数据格式异常等问题,筛选可用代理。使用时替换PROXY_POOL_URL即可,若代理需验证,可修改代理格式为http://user:pass@ip:port。
- 点赞
- 收藏
- 关注作者
评论(0)