Skip to content
intermediate

使用 ChangeMyIP 轮换住宅代理进行网页抓取

使用 ChangeMyIP 轮换住宅代理、Python 以及 HTTP 或 SOCKS5 端点,构建负责任的网页抓取工作流。

SOCKS5 HTTP(S) 网页抓取 隐私/匿名性

概述

本教程介绍一个使用 ChangeMyIP 轮换住宅代理的实用网页抓取设置。ChangeMyIP 提供住宅代理、轮换 IP、数据中心代理,以及包括 HTTP 和 SOCKS5 在内的多种协议。你将使用 Python 通过 ChangeMyIP 发送请求,并处理轮换、重试和验证。抓取前务必查看目标网站的服务条款和 robots.txt。

步骤

  1. 登录 ChangeMyIP 并找到你的住宅代理端点。如果你的套餐包含轮换 IP,请复制轮换主机和端口。否则,从你的账户中准备一份固定端点列表。
  2. 安装 Python 依赖: pip install requests requests[socks]
  3. 将你的 ChangeMyIP 凭据存储在环境变量中: export CMY_HOST=your-host export CMY_PORT=your-port export CMY_USER=your-username export CMY_PASS=your-password
  4. 创建一个 Python 会话并配置 HTTP 代理: proxies = {'http': f'http://{user}:{password}@{host}:{port}', 'https': f'http://{user}:{password}@{host}:{port}'}
  5. 如果你更喜欢 SOCKS5,请使用带有相同 ChangeMyIP 凭据的 socks5h:// 代理 URL。
  6. 向 IP 检查端点发送测试请求,并确认该 IP 属于 ChangeMyIP。
  7. 如需轮换,请使用可用的 ChangeMyIP 轮换端点,或循环使用你的固定端点。为每个请求重新构建代理 URL。
  8. 添加超时、重试和指数退避。将 HTTP 407、429 和 5xx 响应视为需要放慢速度或切换端点的信号。
  9. 仅在你的用例合适时,设置类似普通浏览器的标头。不要伪造标头来歪曲你的身份,如果这违反网站政策。
  10. 通过检查状态码和页面内容来验证响应。记录所使用的代理端点,以便调试失败。
  11. 尊重速率限制和服务条款。轮换代理是用于经授权数据收集的工具,而不是用于绕过访问控制。