使用 ChangeMyIP 轮换住宅代理进行网页抓取
使用 ChangeMyIP 轮换住宅代理、Python 以及 HTTP 或 SOCKS5 端点,构建负责任的网页抓取工作流。
SOCKS5
HTTP(S)
网页抓取
隐私/匿名性
概述
本教程介绍一个使用 ChangeMyIP 轮换住宅代理的实用网页抓取设置。ChangeMyIP 提供住宅代理、轮换 IP、数据中心代理,以及包括 HTTP 和 SOCKS5 在内的多种协议。你将使用 Python 通过 ChangeMyIP 发送请求,并处理轮换、重试和验证。抓取前务必查看目标网站的服务条款和 robots.txt。
步骤
- 登录 ChangeMyIP 并找到你的住宅代理端点。如果你的套餐包含轮换 IP,请复制轮换主机和端口。否则,从你的账户中准备一份固定端点列表。
- 安装 Python 依赖:
pip install requests requests[socks] - 将你的 ChangeMyIP 凭据存储在环境变量中:
export CMY_HOST=your-hostexport CMY_PORT=your-portexport CMY_USER=your-usernameexport CMY_PASS=your-password - 创建一个 Python 会话并配置 HTTP 代理:
proxies = {'http': f'http://{user}:{password}@{host}:{port}', 'https': f'http://{user}:{password}@{host}:{port}'} - 如果你更喜欢 SOCKS5,请使用带有相同 ChangeMyIP 凭据的
socks5h://代理 URL。 - 向 IP 检查端点发送测试请求,并确认该 IP 属于 ChangeMyIP。
- 如需轮换,请使用可用的 ChangeMyIP 轮换端点,或循环使用你的固定端点。为每个请求重新构建代理 URL。
- 添加超时、重试和指数退避。将 HTTP 407、429 和 5xx 响应视为需要放慢速度或切换端点的信号。
- 仅在你的用例合适时,设置类似普通浏览器的标头。不要伪造标头来歪曲你的身份,如果这违反网站政策。
- 通过检查状态码和页面内容来验证响应。记录所使用的代理端点,以便调试失败。
- 尊重速率限制和服务条款。轮换代理是用于经授权数据收集的工具,而不是用于绕过访问控制。