You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中Playwright配置代理失效问题及有效代理获取咨询

问题解答

免费代理无法生效的核心原因

你怀疑的没错,免费代理大概率就是问题根源,主要有这几点:

  • 免费代理存活周期极短,很多刚获取到就已经失效,你用的209.166.175.201:3128很可能已经无法连接
  • 多数免费代理早已被目标网站加入黑名单,直接被拦截
  • 免费代理稳定性差,延迟高、连接超时是常态,无法保证正常访问
  • 部分免费代理需要身份验证,但你当前的代码没配置username和password字段

代码优化建议

先排查代理可用性,再优化配置:

from playwright.sync_api import sync_playwright, PlaywrightTimeoutError
import requests
import time

# 先测试代理是否能正常访问目标网站
proxy_server = "209.166.175.201:3128"
test_url = "https://www.momox-shop.fr/livres-romans-et-litterature-C055/"
try:
    resp = requests.get(test_url, proxies={"https": f"http://{proxy_server}"}, timeout=10)
    print(f"代理可用,状态码: {resp.status_code}")
except Exception as e:
    print(f"代理失效: {str(e)}")

# 优化后的Playwright代码
with sync_playwright() as p:
    try:
        browser = p.firefox.launch(
            headless=False,
            proxy={
                'server': proxy_server,
                # 如果代理需要认证,添加以下字段
                # 'username': 'your_proxy_user',
                # 'password': 'your_proxy_pass'
            })
        page = browser.new_page()
        page.goto(test_url, timeout=30000)
        print("页面加载成功")
        # 这里可以添加数据提取逻辑
        time.sleep(5)
    except PlaywrightTimeoutError:
        print("代理连接超时,更换代理重试")
    except Exception as e:
        print(f"访问失败: {str(e)}")
    finally:
        browser.close()

可用代理的获取途径

  1. 付费代理服务商:这是最靠谱的选择,提供稳定的IP池、不同地区的节点,还有售后支持,适合长期或大规模的数据提取需求
  2. 自建代理池:通过爬虫抓取多个免费代理源,然后定期验证代理的可用性(比如测试能否访问目标网站),只保留有效代理,适合小量、低成本的需求
  3. 企业级代理服务:如果需要高频次访问或应对反爬严格的网站,可选择提供动态IP、会话保持的企业级代理,能有效降低被拦截的概率

内容的提问来源于stack exchange,提问作者Icarso6

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 17:56:09