# Python 请求、Scrapy 与网页解析工具如何接入代理？

覆盖 Requests、HTTPX、aiohttp、urllib3、curl_cffi 与网页解析库的配置来源、认证及出口验证。

Python 工具接入时，先区分负责网络请求的库和只负责解析页面的库。只只HTTP动态与静态的差别是连接字段来源，请求库的配置方式可以共用。

## 步骤一：获取只只HTTP代理信息

- **动态住宅**：进入“动态住宅网络 → 账密认证”，取得 `us.zzhttp.com`、端口 `7878`、生成的完整代理用户名和对应子账号密码；协议按工具选择 HTTP 或 SOCKS5 TCP。先确认实名、权益、共享流量和子账号状态。
- **静态住宅**：进入“静态住宅网络 → IP 管理”，复制已交付、可用且未到期实例的实际 IP、端口与独立代理账密。静态购买无需实名认证，不使用动态网关、子账号或客户白名单。

详细获取步骤见[账密认证](/help/network/account-auth)和[静态住宅首次连接](/help/getting-started/static-residential-quickstart)。代理密码不是控制台登录密码。

## 步骤二：选择工具入口

| 工具 | 配置入口 | 使用要点 |
| --- | --- | --- |
| Requests | 请求或 Session 的 `proxies` | HTTP 和 HTTPS 目标都可使用 HTTP 代理 URL，见[现有 Python 示例](/developers/examples/python) |
| HTTPX | Client 的 `proxy` | 按安装版本核对参数，见[HTTPX 示例](/developers/examples/python-httpx) |
| aiohttp | 请求的 `proxy` 与 `proxy_auth` | 端点与 BasicAuth 分开，见[aiohttp 示例](/developers/examples/python-aiohttp) |
| urllib3 | `ProxyManager` 与 `proxy_headers` | 使用代理认证头，不将认证头发给目标网站 |
| curl_cffi | Session 或请求的代理选项 | 依该库当前版本配置 HTTP 代理和认证，不因指纹选项存在就假定代理已启用 |
| Scrapy | 请求 `meta['proxy']`，配合代理中间件 | 认证由相应中间件处理；逐请求核对，不把全局变量当作已生效配置 |
| Beautiful Soup、PyQuery、lxml | 先用已配置代理的请求库取得正文，再交给解析器 | 解析器不会自动继承其他进程代理；若调用自带联网功能，另外检查其网络入口 |

代理 URL 如需嵌入用户名密码，分别进行 URL 编码后组合。不要直接拼接包含 `@`、`:` 等特殊字符的密码；库提供独立认证字段时优先使用。不要把 HTTP 代理 URL 改成 HTTPS 代理 URL 来表示目标网站是 HTTPS。

## 步骤三：保存并运行最小请求

1. 从环境变量或私有运行配置读取主机、端口、用户名、密码，填入选定库的对应参数。
2. 设置合理超时，先用单个请求验证，避免把大批采集任务作为首次检测。
3. 检查该库是否读取系统代理变量、绕过列表或使用其他 Session，保证实际请求采用本次配置。
4. 拿到响应后再传给解析器，检查状态码与内容类型，不将错误页解析成正常数据。

## 步骤四：验证与排查

用同一 Client / Session / Scrapy 请求访问 `https://ipinfo.io/json`，核对出口和地区，再访问允许测试的目标。解析结果本身不能证明代理生效。

- 407：动态核对完整生成用户名、子账号和权益；静态核对实例独立凭据与有效期。
- 参数错误：检查库版本，HTTPX 等库的接口变化不能用其他库参数套用。
- TLS 失败：检查证书信任与目标站点，不通过关闭证书校验掩盖问题。
- 解析为空：先查看 HTTP 状态和响应正文，再检查选择器，代理连接成功不保证页面结构不变。
- 出口反复变化：动态任务需要稳定会话时见[粘性会话](/help/network/sticky-session)；静态不加动态 session 参数。

当前库参数可查[Requests 代理文档](https://requests.readthedocs.io/en/latest/user/advanced/#proxies)、[HTTPX 代理文档](https://www.python-httpx.org/advanced/proxies/)、[aiohttp 代理支持](https://docs.aiohttp.org/en/stable/client_advanced.html#proxy-support)、[urllib3 代理说明](https://urllib3.readthedocs.io/en/stable/advanced-usage.html#http-and-https-proxies)、[Scrapy 代理中间件](https://docs.scrapy.org/en/latest/topics/downloader-middleware.html#httpproxymiddleware)和[curl_cffi 代理示例](https://curl-cffi.readthedocs.io/en/latest/quick_start.html)。
