案例 · 跨境电商 · 持续运营

京东化妆品类目 OS 级浏览器模拟器

反爬触发率压到 10% 以下

交付状态
持续运营
工期
5 周
预算区间
¥22 万
客户类型
内部 + 客户共用
客户

CosDev 内部 InciSights / CosPulse + 4 家外部数据订阅客户

挑战

京东 2024 年起对自动化采集的反爬全面升级:CDP 协议指纹识别 + Playwright 检测 + 滑块验证 + 用户行为指纹分析。常规 Playwright 方案触发反爬率 80%+,单次 IP 封禁 24 小时,整个采集流程几乎崩溃

方案

PyAutoGUI OS 级真实操作(不走浏览器自动化协议)+ 5 层反爬检测器 + Cookie Pool + ESC 通用遮挡清理 + 断点续传

项目复盘

5 周 里我们做了这些

背景

京东在 2024 Q2 推出新的反爬体系,从协议层(CDP / WebDriver 指纹)+ 行为层(鼠标轨迹 / 滚动模式)+ 业务层(异常 SKU 浏览顺序)三个维度同时检测。市面上常见的 Playwright stealth / undetected-chromedriver / browserforge 等绕过方案,最初一两周有效,但京东 2024 Q3 之后这些方案触发反爬率回到 70%+。 这个项目的诞生是因为 CosPulse 上线后第一周京东数据全部断流。我们花了一周尝试 4 种主流方案都失败,反思之后决定走"反向降维"——既然所有反爬都在检测自动化协议,那就别用协议,用 OS 级 GUI 自动化(PyAutoGUI),让京东以为是真人在用真浏览器。

我们做了什么

总工期 5 周。 第 1 周|OS 级方案验证。手工跑 PyAutoGUI 控制 Chrome(非 CDP 启动)连续浏览 100 个 SKU,反爬触发率 6%。验证通过。 第 2 周|5 层反爬检测器。① DOM 关键字检测("验证"/"异常访问"/"频繁操作");② 跳转 URL 检测(被重定向到登录页);③ 滑块出现检测(截图 + 模板匹配);④ 页面高度异常(小于 500px 一般是反爬页);⑤ 关键字段缺失(产品价格 / 销量 / 评价数有一项缺失就算失败)。任一触发立刻进入冷却期 + 切换 Cookie。 第 3 周|Cookie Pool。准备 30 个真实账号 Cookie(手工种子 + 每周轮换浏览维持活跃)。每个 Cookie 配独立的代理 IP(住宅)。Cookie 命中反爬后冷却 24 小时再上场。 第 4 周|智能停顿 + ESC 清遮挡。鼠标移动用贝塞尔曲线(不是直线),点击间隔 1.2-3.5 秒高斯分布,滚动用人类自然节奏(不是匀速)。京东偶尔弹优惠券 / 直播浮窗,每次操作前先按 ESC(通用遮挡清理)+ Tab(焦点回归正文)。 第 5 周|62 品类批量调度 + 断点续传。任务调度按品类粒度(化妆品大类下 62 个子品类),每个品类一个独立任务文件 + 进度断点。中断后能从上次失败的 SKU 继续,不会重抓。

数据结果

上线 9 个月: · 反爬触发率从 80% → 8%(年均水位) · 62 个化妆品品类月度增量稳定(每月 8-12 万 SKU 数据更新) · 0 次需要人工换 IP / 重启代理 · 4 家外部订阅客户,月均 ¥6.5 万订阅收入 · 服务器成本:1 台 Windows 工作站 + 30 个真人账号 Cookie,月均 ¥1,800

复盘 · 哪里做得不够

OS 级方案的副作用是对运行环境敏感:分辨率 / DPI 缩放 / Chrome 版本变化都会让坐标失准。我们做了 3 件事让它"傻瓜化":① 启动时强制 1920×1080 分辨率 + 100% 缩放;② Chrome 版本锁定(不自动更新);③ 每周一次"健康检查"自动回归测试,发现坐标漂移立刻警报。 更深的教训:当所有人都在写 Playwright 时,回去用 OS 级 GUI 自动化反而是降维打击。这个项目让团队学会了一个原则——反爬对抗本质是技术博弈,要持续找"对方还没盯上的领域"。

当所有人都在写 Playwright 时,回去用 OS 级 GUI 自动化反而是降维打击。这个项目让团队学会了一个原则——反爬对抗本质是技术博弈,要持续找"对方还没盯上的领域"。
CosDev · 张工
技术栈
PyAutoGUIPython5 层反爬检测Cookie PoolOSS

想做类似的项目?

把你的情境告诉我们,48 小时内给到初步方案 + 报价区间。