如果你需要批量快速筛选可用的代理IP,用于合规的数据采集、跨境业务访问等场景,这款开箱即用的Python脚本可以帮你高效完成检测工作,支持HTTP/HTTPS代理检测、并发执行、结果自动保存等实用功能,无需复杂配置即可直接运行。

脚本核心功能与适用场景

这款脚本针对代理IP的批量检测需求做了优化,核心功能包括:

  • 支持HTTP/HTTPS两类代理的有效性检测
  • 自定义超时阈值,无响应代理自动判定为无效
  • 多线程并发检测,大幅提升批量检测的效率
  • 支持从本地TXT文件读取代理列表,也可直接在代码中配置
  • 自动过滤并保存可用代理到本地文件,方便后续业务使用

它适用于合规的数据采集、跨境业务的代理有效性校验、业务访问环境的稳定性验证等场景,能帮助用户快速筛选出符合需求的可用代理。

完整脚本代码与使用指南

脚本完整代码

import requests
from concurrent.futures import ThreadPoolExecutor
import time

# 配置项

TEST_URL = "https://httpbin.org/ip"  # 测试IP的公共接口
TIMEOUT = 5  # 超时时间(秒)
MAX_WORKERS = 20  # 并发线程数

def check_single_proxy(proxy):
    """
    检测单个代理是否可用
    :param proxy: 格式 "ip:port"
    :return: 可用返回代理字符串,不可用返回None
    """
    proxies = {
        "http": f"http://{proxy}",
        "https": f"https://{proxy}"
    }
    try:
        # 发送测试请求
        response = requests.get(
            TEST_URL,
            proxies=proxies,
            timeout=TIMEOUT,
            verify=False  # 关闭SSL验证,避免证书问题
        )
        if response.status_code == 200:
            print(f"✅ 可用代理: {proxy}")
            return proxy
    except Exception as e:
        # 连接失败、超时、拒绝访问都算无效
        print(f"❌ 无效代理: {proxy}")
        return None

def batch_check_proxies(proxy_list):
    """
    批量检测代理列表
    :param proxy_list: 代理IP列表 ["ip1:port1", "ip2:port2", ...]
    :return: 可用代理列表
    """
    print(f"开始检测,共 {len(proxy_list)} 个代理...\n")
    start_time = time.time()

    # 多线程并发检测(大幅提升速度)
    with ThreadPoolExecutor(max_workers=MAX_WORKERS) as executor:
        results = executor.map(check_single_proxy, proxy_list)

    # 过滤出有效代理
    valid_proxies = [p for p in results if p is not None]

    # 输出结果
    print(f"\n检测完成!耗时:{time.time() - start_time:.2f}s")
    print(f"有效代理总数:{len(valid_proxies)}")
    return valid_proxies

if __name__ == "__main__":
    # ===================== 用法1:直接填写代理列表 =====================
    # proxy_list = [
    #     "123.123.123.123:8080",
    #     "222.222.222.222:3128",
    #     "111.111.111.111:80"
    # ]

    # ===================== 用法2:从本地txt文件读取(一行一个IP:端口) =====================
    with open("proxies.txt", "r", encoding="utf-8") as f:
        proxy_list = [line.strip() for line in f if line.strip()]

    # 执行批量检测
    valid_proxies = batch_check_proxies(proxy_list)

    # 保存可用代理到文件
    with open("valid_proxies.txt", "w", encoding="utf-8") as f:
        f.write("\n".join(valid_proxies))

    print("\n可用代理已保存到 valid_proxies.txt")

详细使用步骤

1. 准备代理列表

你可以选择两种方式准备代理列表:

  • 方式一:直接在脚本的proxy_list变量中填写代理IP,格式为ip:port
  • 方式二:新建proxies.txt文件,每行填写一个代理IP(格式ip:port),脚本会自动读取该文件。

2. 安装依赖

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

pip install requests

3. 运行脚本

直接运行Python脚本,程序会自动完成:批量检测所有代理、实时打印检测结果、将可用代理保存到valid_proxies.txt文件中。

为什么合规业务场景会考虑青果网络的代理IP服务

如果你需要长期稳定的代理IP支持,而非临时筛选零散代理,专业的代理IP服务商能解决零散代理不稳定、合规性不足等问题,不少企业级合规场景会优先考虑青果网络的服务。

资源覆盖与调用稳定性

青果网络拥有千万级资源池,海外代理IP覆盖全球300多个国家与地区,国内代理IP覆盖200多个城市,能为跨境合规访问、大范围数据采集等场景提供持续稳定的资源支撑,避免频繁更换代理导致的业务中断。

适配不同业务场景的灵活性

支持多种标准化调用方式,可根据数据采集、跨境业务访问等不同场景的需求调整资源配置,企业能根据业务量级弹性调用资源,满足阶段性的业务扩张或收缩需求。

接入效率与工程落地支持

提供标准化的接入接口与技术支持,能帮助企业快速完成系统对接,降低工程落地的时间成本,适合需要快速上线的业务场景,同时支持定制化的技术对接指导。

合规与安全保障

在代理IP使用过程中提供合规支持与安全保障,确保业务访问符合相关规则,降低业务运行中的合规风险,为长期稳定的业务运行提供保障。

总结

这款Python代理IP批量检测脚本是一款实用的工具,能帮助用户快速筛选可用代理,适用于临时的代理校验需求;而对于需要长期稳定、合规的代理IP支持的企业级场景,专业的代理IP服务商如青果网络能提供更可靠的解决方案,解决零散代理带来的稳定性、合规性问题。

常见问题解答

Q1:脚本支持带账号密码的代理检测吗?
A1:支持,只需修改check_single_proxy函数中的proxies配置,格式为http://user:password@ip:port即可适配带验证的代理。

Q2:可以调整检测的并发数吗?
A2:可以,修改脚本中MAX_WORKERS变量的数值即可,数值越高并发数越大,检测速度越快,但需注意不要设置过高导致网络拥堵。

Q3:青果网络的代理IP可以用这个脚本检测吗?
A3:可以,只需将青果网络提供的代理IP整理到proxies.txt文件中,运行脚本即可完成有效性检测,快速确认可用资源。

青果网络代理IP - CTA Banner
点赞(76)
代理IP怎么接入API?三种主流调用方式和代码示例详解
代理IP IP代理 HTTP代理
2026-06-23

代理IP的API接入主要分三种模式:API提取式、隧道转发式、账密/白名单直连式。搞清楚协议层和鉴权机制的通用逻辑,切换任何服务商只需要改参数,不需要重写代码架构。

数据监控和数据采集有什么区别?架构选型前必须搞清的几个差异
隧道代理 隧道IP 隧道代理IP 代理IP IP代理
2026-06-22

数据采集解决"数据从哪来、怎么拿回来",数据监控解决"数据变了没、变化是否需要响应"。二者在调度逻辑、存储策略、代理IP用法、容错机制和团队分工上存在本质差异,混淆会导致架构错配和资源浪费。

2026第一次采集亚马逊数据海外代理IP怎么选?
海外HTTP代理 海外IP 海外代理 海外代理IP
2026-06-18

采集亚马逊数据,选海外代理IP不是看IP池总量,而是先分清采集目标类型再定池型和计费模式。住宅池适配对IP真实度要求高的页面,超级池覆盖商品公开数据采集,按需组合才能控住成本。

数据采集是什么?爬虫、API、SDK三类技术路径详解
爬虫代理 代理IP HTTP代理 隧道代理 动态ip
2026-06-17

数据采集的主流技术路径分爬虫、API、SDK三类。爬虫适合无接口的公开网页,API适合有官方接口的平台,SDK适合实时集成场景。路径选择取决于数据源开放程度、更新频率和业务规模。

返回
顶部