Python requests 和 Playwright 怎么使用代理 IP
脚本接入代理时,最重要的是代理格式、认证、超时和重试策略。不要无限重试同一个出口,也不要在登录态流程里每个请求都更换 IP。
1. 代理格式
HTTP 代理常见格式如下:
http://username:password@host:port
SOCKS5 代理常见格式如下:
socks5://username:password@host:port
如果用户名里包含国家、城市或 session 参数,需要完整保留,不要手动删减。
2. requests 使用 HTTP 代理
import requests
proxy = "http://username:[email protected]:55688"
proxies = {
"http": proxy,
"https": proxy,
}
resp = requests.get("https://example.com", proxies=proxies, timeout=20)
print(resp.status_code)
实际使用时建议设置 timeout,并捕获连接错误、超时和 429 / 403 等目标站响应。
3. Playwright 使用代理
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch(
proxy={
"server": "http://us.mooproxy.net:55688",
"username": "your_username",
"password": "your_password",
}
)
page = browser.new_page()
page.goto("https://example.com")
print(page.title())
browser.close()
4. 什么时候固定会话
- 登录、注册、表单提交、购物车流程:使用固定会话。
- 公开页面批量采集:可按任务批次轮换 IP。
- 同一个账号:不要每个请求更换不同国家。
- 遇到风控:先降低频率、检查指纹,再考虑更换出口。
5. 稳定性建议
- 设置合理超时,例如 15 到 30 秒。
- 失败后最多重试 2 到 3 次,不要无限循环。
- 记录失败原因,区分代理连接失败和目标站拒绝。
- 并发任务按国家和账号分组,不要混用会话。