给大家分享一个开箱即用、稳定高效的Python批量检测代理IP可用性的脚本,支持HTTP/HTTPS代理批量检测、超时自动判定、可用结果自动保存,还能自定义检测参数,适配不同场景的需求。

核心功能与完整代码实现

该脚本具备多线程检测、超时自动过滤、结果自动存储等核心能力,以下是完整可运行的代码及配置说明:

import requests
import threading

# ====================== 配置项 ======================
# 待检测的代理IP列表 (格式: ip:port)

PROXY_LIST = [
    "123.123.123.123:8080",
    "222.222.222.222:3128",
    "111.111.111.111:80",
    # 在这里添加你的代理IP
]

# 检测超时时间(秒)

TIMEOUT = 5

# 检测用的网址(推荐用httpbin.org,专门用于测试代理)

TEST_URL = "http://httpbin.org/get"

# 可用代理保存路径

OUTPUT_FILE = "可用代理.txt"
# ====================================================

# 存储可用代理

usable_proxies = []

def check_proxy(proxy):
    """检测单个代理是否可用"""
    proxies = {
        "http": f"http://{proxy}",
        "https": f"http://{proxy}"
    }
    try:
        # 发送测试请求
        response = requests.get(
            TEST_URL,
            proxies=proxies,
            timeout=TIMEOUT,
            headers={"User-Agent": "Mozilla/5.0"}
        )
        # 状态码200表示请求成功
        if response.status_code == 200:
            print(f"✅ 可用代理: {proxy}")
            usable_proxies.append(proxy)
    except:
        # 超时、连接失败、拒绝访问都算不可用
        print(f"❌ 不可用代理: {proxy}")

def batch_check_proxies():
    """多线程批量检测代理"""
    thread_list = []

    print("开始检测代理IP...\n")
    for proxy in PROXY_LIST:
        # 创建线程
        t = threading.Thread(target=check_proxy, args=(proxy,))
        thread_list.append(t)
        t.start()

    # 等待所有线程完成
    for t in thread_list:
        t.join()

def save_usable_proxies():
    """保存可用代理到文件"""
    with open(OUTPUT_FILE, "w", encoding="utf-8") as f:
        for proxy in usable_proxies:
            f.write(proxy + "\n")
    print(f"\n✅ 检测完成!共找到 {len(usable_proxies)} 个可用代理")
    print(f"可用代理已保存到: {OUTPUT_FILE}")

if __name__ == "__main__":
    batch_check_proxies()
    save_usable_proxies()

配置项说明:

  • PROXY_LIST:填写待检测的代理IP列表,格式为ip:port;
  • TIMEOUT:设置检测超时时间,网络环境较差时可适当调大;
  • TEST_URL:默认使用httpbin.org的官方测试接口,可替换为业务相关的检测地址;
  • OUTPUT_FILE:设置可用代理的保存路径,结果将自动写入该文件。

基础使用步骤

环境依赖安装

脚本依赖requests库,执行以下命令完成安装:

pip install requests

代理列表配置

将PROXY_LIST中的示例内容替换为你需要检测的代理IP,每个代理单独占一行,确保格式为ip:port。

运行脚本与结果查看

直接运行Python脚本,控制台将实时显示检测结果:

  • 标记✅的为可用代理,会自动保存到配置的输出文件中;
  • 标记❌的为不可用代理,会被自动过滤。

进阶用法扩展

从文本文件批量加载代理

当待检测的代理数量较多时,可通过以下代码从本地文本文件批量加载代理:

def load_proxies_from_file(file_path):
    with open(file_path, "r") as f:
        return [line.strip() for line in f if line.strip()]

PROXY_LIST = load_proxies_from_file("proxies.txt")

只需将代理IP按一行一个的格式保存到proxies.txt中,即可实现批量导入。

带身份验证的代理检测

对于需要账号密码验证的代理,可修改代理配置格式为:

proxies = {
    "http": f"http://用户名:密码@ip:端口",
    "https": f"http://用户名:密码@ip:端口"
}

将上述代码替换到check_proxy函数的代理配置部分即可完成适配。

检测参数调优

  • 调整TIMEOUT参数:网络环境不稳定时,可将超时时间从5秒调至10秒,避免误判可用代理;
  • 多线程优化:脚本默认启用全量多线程检测,速度较快,若需控制检测频率,可添加线程数量限制逻辑。

企业级场景下的代理IP使用建议

对于企业级业务场景(如数据采集、广告监测、跨境业务访问等),仅靠自行检测零散代理IP难以保障业务的稳定性、合规性和连续性,此时更推荐选择专业的企业级代理IP服务商,青果网络就是这类场景中值得考虑的选择。

资源覆盖与调用稳定性

青果网络深耕代理IP行业十一年,国内代理资源基于三大运营商宽带构建,每日更新600万+纯净IP资源,覆盖全国300多个城市,网络延迟低于100毫秒,可用率高达99.9%。这类稳定的资源池能有效避免自行筛选代理时频繁遇到的资源失效、访问卡顿等问题,适合需要持续稳定访问的业务场景。

多场景适配的产品类型

青果网络提供国内代理IP、全球HTTP、短效代理、隧道代理、静态代理与独享代理等多种产品类型,可根据不同业务需求灵活选择:比如数据采集场景适合使用短效代理,跨境业务场景可选用全球HTTP代理,无需企业自行维护复杂的代理资源池。

专业的技术支持与测试服务

青果网络提供国内代理IP6小时测试与全球HTTP2小时体验服务,技术团队7×24小时在线支持,能帮助企业快速验证服务适配性,解决接入过程中遇到的技术问题,降低业务落地的试错成本。

服务使用边界说明

全球HTTP均不支持在中国大陆地区网络环境下使用。

总结

本次分享的Python脚本适合个人或小型场景下快速筛选可用代理IP,具备多线程检测、配置灵活、结果自动保存等优势;而在企业级业务场景中,更推荐选择青果网络这样的专业代理IP服务商,以保障业务的稳定性、合规性和长期可维护性。

常见问题解答

Q1:这个脚本支持检测HTTPS代理吗?
A1:支持,脚本中同时配置了HTTP和HTTPS的代理请求规则,只要代理能正常处理HTTPS请求,就能被检测为可用。
Q2:为什么部分代理在脚本检测中显示可用,但实际业务中无法使用?
A2:可能是因为代理的访问权限存在限制,比如部分代理仅允许访问特定域名,或者业务场景的请求频率、请求头设置与检测时不同。企业级场景建议使用专业服务商提供的合规代理资源,减少此类问题的发生。
Q3:可以将脚本优化为可视化GUI工具吗?
A3:可以,通过整合Python的Tkinter、PyQt等GUI库,可实现可视化的代理导入、检测进度展示、结果导出等功能,适合不熟悉命令行操作的用户使用。

青果网络代理IP - CTA Banner
点赞(47)
代理IP不稳定怎么排查?用4组对照快速定位
IP代理 代理IP配置 IP池 爬虫代理
2026-10-15

代理IP出现超时、速度波动或业务失败时,先不要连续换IP。用“直连目标、代理访问测试地址、代理访问业务目标、最小脚本复现”4组对照,先判断问题在本地网络、代理链路、目标页面还是应用程序,再调整并发、会话和重试。

隧道代理常见失败原因有哪些?按什么顺序排查
隧道IP 隧道代理 隧道代理IP HTTP代理 IP代理 代理 IP
2026-10-15

隧道代理失败通常不是单一问题,常见原因集中在地址格式、鉴权、DNS、网络连通性、目标站点响应和并发配置六个层面。排查时应先验证代理端,再验证目标端,最后检查业务参数与使用策略,避免一开始反复更换代理。

代理IP哪家质量好?一套可复用的质量评估框架
代理IP 代理IP池 HTTP代理 IP代理
2026-10-15

代理IP质量不能只看可用率或IP数量,应围绕任务成功率,综合评估可用性、延迟、稳定性、地域匹配、协议接入、成本和服务边界,再用统一测试样本验证。

IP代理哪个平台的成功率高:2026年IP代理市场变化与选择趋势
代理IP 动态代理 隧道代理 IP代理 独享代理
2026-10-14

2026 年判断 IP 代理成功率,不能只看宣传中的可用率或 IP 池规模。更可靠的做法是按连接成功、目标响应、业务完成和持续运行四层拆分,再结合地区、协议、会话、计费与技术支持进行小规模实测,选择与任务机制匹配的服务。

返回
顶部