可在Telegram上免费试用:法国 、英国 或新加坡 加入Telegram
支柱指南

移动代理网页爬取指南

通过移动代理进行数据抓取的端到端工作流——连接代理、为每个任务选择轮询或固定会话模式,以及排查即使使用完全干净的IP地址仍会发生的阻塞问题。

PXM2 Proxies August 20, 2026 阅读需9分钟
置顶 或者按工作轮换
无限 带宽与轮换
HTTP · SOCKS5 协议支持
5+ 可用国家数
  • 一个端点,任意客户端——任何支持 HTTP(S) 或 SOCKS5 的客户端均可照常使用。
  • 固定或轮换 — 为已登录的任务保留一个 IP 地址,或在独立任务之间进行轮换。
  • 无限带宽 —— 不限流量,因此页面大小不会影响抓取成本。
  • 真实的运营商 IP 地址 — 请求源自移动网络,而非主机地址范围。
4G/5G移动代理 会话保持
协议支持HTTP(S), SOCKS5
会话类型旋转或粘连
带宽无限
硬件专属4G/5G调制解调器
旋转由您掌控

在作业边界处按需旋转,而不是按照固定的计时器进行旋转。

令人难忘的会议

无论登录流程持续多长时间,都应为整个登录流程保留一个出口IP地址。

将移动代理连接到您的爬虫

移动代理其实就是一种普通的转发代理,只不过它恰好通过运营商网络进行传输。你的爬虫程序无需了解这一点。只要你的客户端能够与 HTTP 或 SOCKS5 代理通信——而所有主流客户端都能做到这一点——它就已经支持移动代理了,且集成方式只需通过连接字符串即可,无需使用 SDK。

第一阶段——建立联系
  1. 获取端点、端口和协议

    系统会为您提供主机、端口,以及该服务器支持 HTTP(S)、SOCKS5 还是两者兼有。如果您需要处理 UDP 或非 HTTP 流量,请选择 SOCKS5;否则,对于数据抓取而言,这两种协议的区别通常并不重要。

  2. 选择一种身份验证模型

    要么将您的爬虫运行的公共 IP 加入白名单,这样就完全无需传输任何凭据;要么使用用户名和密码。对于固定服务器而言,加入白名单是更稳妥的选择,而且可以规避本系列后续内容中将要讨论的一整类浏览器自动化问题。

  3. 生成一个代理网址

    几乎所有客户端都支持相同的格式:http://user:pass@host:port。请将其保存在环境变量中,而不是源代码里——因为这是凭据,否则它会被提交到公共代码库中。

  4. 在信任任何内容之前,请先验证其源IP地址

    通过代理请求一项 IP-echo 服务,并确认其地址、国家/地区,以及该 ASN 是否属于移动网络运营商而非主机服务提供商。如果跳过这一检查,人们可能会花上一整天时间去排查那些实际上只是代理配置错误导致的封锁问题。

如果回显服务返回的是您自己的地址,则说明代理根本没有被使用。大多数库都采用“失败即开放”策略——对于格式错误的代理设置,系统会默默忽略,请求将直接发送出去。在对目标做出任何判断之前,请务必先确认退出状态。

一旦确认了连接,此后的一切都取决于行为,而非基础架构。接下来要做的决定最为关键。

会话轮换与固定会话:按作业选择

IP轮换并不一定比固定IP更好——它们解决的是截然不同的问题,而选择错误往往是导致那些看似无法解释的封禁的常见原因。

图案 用于 当……时会出问题
根据请求进行旋转 对大量独立URL进行匿名、未经身份验证的爬取 该目标使用会话Cookie或购物车——其状态与创建它的IP地址相关联
粘性会话 任何需要登录才能访问的内容、多步骤流程以及携带状态的分页结果 你长时间占据一个IP地址,并且对其进行如此猛烈的攻击,以至于这种攻击频率本身就成了信号
仅在发生故障时旋转 在长时间的爬网过程中,大多数请求都成功了,而你希望屏蔽一个被封的IP地址 你在 429 状态下进行轮询,并立即重试——新获取的 IP 地址仍会继承相同的速率限制问题

实用规则:在不同逻辑任务之间轮换,切勿在执行某项任务的过程中切换。在已认证的网站上,会话进行中更改退出IP的行为看起来完全就像是会话劫持,这比爬取行为本身更令人起疑。

这也是为什么固定轮换定时器作为默认设置并不理想。定时器并不了解你的任务边界,因此迟早会在两个必须共享同一地址的请求之间触发轮换。应在任务完成时按需轮换,并在任务失败时进行轮换,以便及时舍弃已受污染的 IP 地址。 如果必须使用时间间隔,请将其设置为比最慢的单个任务的执行时间更长。

429 状态码值得单独讨论。这是目标服务器在告诉你请求速率有误,而通过轮换 IP 地址再次发送请求,实际上是将速率问题当成了身份验证问题——这正是导致爬虫从被限流演变为被封禁的原因。请遵守 Retry-After 规则,采用指数级退避策略,如果运行的是并发 worker,还应添加抖动。该 该集群中的 Python 指南 代码中包含重试配置。

为什么爬虫在干净的IP上仍然会被封禁

一个好的IP地址是必要的,但还不够。反机器人系统包含多个独立的防护层,而代理仅能解决其中之一。如果你在使用干净的移动IP地址时仍然被封禁,答案就在这份列表中:

  • TLS 指纹(JA3/JA4) — Python 的 TLS 握手过程与 Chrome 的不同——加密套件顺序不同,扩展名也不同。一个自称是 Chrome 却采用 urllib3 式握手方式的请求,在读取任何一个头部之前就已经自相矛盾了。像 curl_cffi 这样的库会模拟真实浏览器的 TLS 配置文件。
  • HTTP/2 与标头顺序 — 浏览器会按照特定的顺序,采用特定的伪头部分帧方式发送一组特定的头部。无论User-Agent字段如何声明,仅包含三个头部的请求都不是来自浏览器的请求。
  • 无头泄漏 — navigator.webdriver、缺失的插件和编解码器信息,以及一个显示为 SwiftShader 的 WebGL 渲染器,这些都表明这是一个自动化浏览器。请在虚拟显示器下运行 headful,或使用隐身插件,并通过指纹检测页面进行验证,而不是凭空猜测。
  • 地理信息不一致 — 这完全是代理服务的问题:英国的IP地址与报告为America/New_York且语言为en-US的浏览器之间存在不匹配,系统会例行检查此类情况。请将区域设置和时区设置为与您所在的国家/地区一致。
  • 非移动IP网络上的移动用户代理 — 声称是一部来自数据中心系列的安卓手机,这是任何指纹识别层都能察觉的矛盾之处。如果你提供移动端的 User-Agent 和移动端视口,那么出口 IP 必须是移动端的——这正是这种代理类型的全部论据所在。
  • 行为 — 系统会测量以下各项:间隔完全均匀、鼠标无移动、表单即时填写,以及人类无法维持的请求频率。任何代理都无法隐藏访问模式;唯有改变访问模式才能做到这一点。

在添加另一层规避措施之前,请先查看这些看似枯燥的说明:robots.txt 文件可能已经明确了哪些内容是禁止访问的,该网站可能提供了返回与标准 JSON 格式相同数据的 API,而你正在解析的页面可能正是从某个内部端点获取的,你可以直接调用该端点。 在“网络”标签页中花一小时,往往能省去一周的反机器人工作。

收集公开数据通常是合法的,而代理服务器不会从任何方面改变这一结论。真正影响结论的,是收集数据时伴随的一切其他因素。

值得关注的案例是 hiQ Labs 诉 LinkedIn 一案。第九巡回上诉法院于 2022 年裁定,抓取公开可获取的数据并不违反《计算机欺诈与滥用法案》——这一裁决确实意义重大,而通常摘要到此为止。但其实不应止步于此。 在发回重审后,LinkedIn以违反合同为由胜诉:hiQ接受了50万美元的判决,并被下达永久禁令,要求其停止数据抓取并销毁已收集的数据及源代码,随后该公司宣告倒闭。虽然这并非刑事计算机入侵罪,却依然是致命的打击。

由此得到的教训是:访问权限问题与合同问题是相互独立的。公开抓取数据并不等同于黑客行为;你已接受的合同仍然具有法律约束力。如果你注册了账户、点击同意了条款,或者使用了 API 密钥,那么无论数据看起来多么公开,你都已处于合同关系之中。

  • robots.txt — 在大多数司法管辖区,该声明不具有法律约束力,但阅读它是免费的,而忽视它则被视为缺乏善意。根据欧洲最近发布的指导意见,它也被视为一种机器可读的权利保留信号,因此与几年前相比,如今其分量更重了。
  • 个人数据 — 数据属于公开信息并不意味着其不受《通用数据保护条例》(GDPR)或《加州消费者隐私法案》(CCPA)的约束。如果所收集的数据能够识别个人身份,则必须具备合法依据,而这一义务与数据的获取方式完全无关。
  • 评分 — 降低所监控服务的性能,是将技术问题升级为法律纠纷的最快途径。并发限制应按目标主机设置,而非全局设置:八个并行请求分散在八个域名上属于正常情况,而八个请求同时针对单个域名则属于突发情况。
  • 服务条款 — 大多数项目的实际风险面。仔细阅读您所同意的内容,并如实说明是否涉及某个账户。

以上内容均不构成法律建议,且各地法律规定可能有所不同。这些问题更适合在爬取之前而非之后提出。

获取专用爬虫代理

PXM2实时节点——选择您希望目标用户看到请求来自的国家/地区,即可获得一个专属的4G/5G IP地址,该地址提供无限带宽和轮询功能:

🇫🇷

法国

3 名操作员 20-150 Mbps
从……开始
$4.34 1小时时长
4G 5G
可用运算符:
SFR Bouygues Orange
🇮🇳

印度

3 名操作员 20-30 Mbps
从……开始
$2.74 1小时时长
4G
可用运算符:
Airtel Jio Vodafone Idea (Vi)
🇸🇬

新加坡

2 名操作员 30-70 Mbps
从……开始
$2.99 1小时时长
4G
可用运算符:
Vivifi Singtel
查看所有地点 →

常见问题解答

如何使用移动代理进行网页爬取?

将客户端指向代理端点并进行身份验证,方法是将服务器的 IP 地址加入白名单,或使用用户名和密码进行认证。 所有主流客户端对代理的处理方式都相同——即采用 http://user:pass@host:port 格式的 URL。在信任任何内容之前,请先验证出口 IP:通过代理请求 IP 回显服务,并确认地址和国家/地区是否符合预期。

我应该在每次请求时轮换代理吗?

仅适用于对独立 URL 的匿名爬取。一旦涉及会话 Cookie、购物车、分页结果集或登录状态,按请求轮换就会导致任务中断——因为该状态与创建它的 IP 地址绑定。一般原则是在逻辑任务之间进行轮换,切勿在单个任务进行过程中进行轮换。

为什么我使用代理时还是被屏蔽了?

因为IP地址只是众多信号中的一个。反机器人系统还会评估你的TLS握手过程、HTTP/2头部顺序、浏览器是否泄露了自动化标志,以及你申报的地区和时区是否与出口国一致。一个干净的移动IP地址,如果搭配默认的无头指纹,仍然会被识别为明显的机器人。

什么是“粘性会话”,何时需要使用它?

粘性会话会在您需要的时间内保持相同的出口IP地址,而不是在您使用过程中不断轮换。对于任何需要身份验证的操作、任何多步骤流程,以及任何携带状态的分页爬取,您都需要使用粘性会话。在已登录的网站上,会话中途更改出口IP地址会被视为会话劫持,这比爬取行为本身更受搜索引擎的负面评估。

抓取代理应该多久轮换一次?

将轮换与作业边界挂钩,而非与时间挂钩。固定的定时器最终会在多步请求进行到一半时触发,从而中断该请求。如果你确实需要基于时间的规则,请将时间间隔设为比最慢的单个作业时间更长,并且在发生故障时也进行轮换,以便及时剔除出现问题的 IP 地址。

本指南提供了一般性的概述,不涉及具体工具。集群的其余部分将更深入地探讨如何选择代理层,以及针对特定技术栈的代码实现。

网页抓取指南

核心移动代理指南

从真实的运营商IP地址抓取数据

专用的 4G/5G 调制解调器,提供无限带宽和无限轮换次数——您可以在任务边界处进行轮换,或在会话需要时长期保留一个 IP 地址。

获取一个爬虫代理