2026年完美指南:关于Akamai绕过的一切

2026年详细探讨了Coupang爬虫的困难和解决方法的指南。提供了自动化工具如Selenium、Playwright、Puppeteer被阻止的原因和替代方案。

128
2026年完美指南:关于Akamai绕过的一切

"使用requests.get获取了Coupang商品页面,但只显示空白页面"
— 每周在开发者社区发布的问题

阅读时间: 15分钟 | 截至2026年1月


核心摘要

自2024年以来,Coupang爬虫变得极其困难。引入了Akamai Bot Manager后,几乎所有自动化工具如Selenium、Playwright、Puppeteer都被封锁。

本文涵盖内容:
- Coupang封锁爬虫的确切原因(5阶段检测结构)
- 尝试直接绕过时的失败原因(包括代码)
- 2026年的实际可行方法3种
- 每种方法的成本和限制(月度比较表)

总的来说:小规模测试可能可行,但稳定的大规模收集实际上几乎不可能没有专业服务的支持。


目录

  1. Coupang数据,谁在收集什么
  2. 可以从Coupang收集的数据
  3. 为什么Coupang爬虫变得困难
  4. Akamai Bot Manager的5阶段检测结构
  5. 常见尝试和失败模式
  6. 方法1:自建(高级用户)
  7. 方法2:使用代理服务
  8. 方法3:使用爬虫专业服务
  9. 成本比较:哪种方法更合理
  10. 找到适合自己的方法
  11. 常见问题

1. Coupang数据,谁在收集什么

Coupang在韩国电商市场占据第一。因此对Coupang数据的需求也很大。

竞争对手价格监控 — 实时了解自家商品在Coupang上的售价,以及竞争产品价格的变化。主要由零售品牌、制造商和零售企业使用。

市场研究和趋势分析 — 分析特定类别的热门商品、新品发布情况、价格分布。咨询公司、研究机构和初创公司在进入市场前使用。

评论分析 — 收集和分析自家/竞争对手商品的客户反馈。用于产品改进、营销信息提取和获取客户意见。

MAP(最低广告价格)监控 — 监控品牌指定的最低销售价格是否得到经销商遵守。用于发现违反价格政策的卖家。

库存和缺货监控 — 跟踪竞争产品的库存状态以抓住机会。

要手动检查这些数据,每天需要访问数百至数千个商品页面。这就是为什么自动化是必要的原因。


2. 可以从Coupang收集的数据

成功爬取后,可以从Coupang商品页面提取的主要项目包括:

商品基本信息
- 商品名称、品牌、类别
- 销售价格、折扣价、优惠券应用价格
- 商品图片URL
- 卖家信息(包括火箭送货标志)
- 商品选项(颜色、尺寸等)

评论数据
- 总体评分和评论数量
- 单个评论文本、作者、发布日期
- 评论图片
- 星级分布(1~5星)

销售和库存信息
- 缺货/重新进货状态
- 预计发货日期
- 显示购买数量(“10,000+件已购”)

类别/搜索数据
- 按类别列出商品及排名
- 按搜索关键字显示的商品
- 推荐商品列表

可收集的数据范围取决于爬取方法和规模。简单的价格查询相对容易,但专业的评论收集或实时库存监控需要更复杂的技术。


3. 为什么Coupang爬虫变得困难

过去与现在

2022年以前: 可以使用Python的requests + BeautifulSoup轻松获取商品页面。只需设置User-Agent标头即可。

2023年: 开始应用基本的机器人阻止。可以使用Selenium部分绕过。

2024年至今: Akamai Bot Manager全面引入。使用传统自动化工具几乎不可能。

为什么突然加强了

自2021年在纽约证券交易所(NYSE)上市后,Coupang大量投资于数据保护和基础设施安全。Akamai是全球CDN和安全市场中最大规模的公司之一,他们的Bot Manager是机器人检测领域的顶级解决方案

加强阻止的具体原因:

  • 竞争对手价格收集阻止: 阻止竞争平台如11번街、Gmarket等的组织化价格监控
  • 自动购买机器人阻止: 阻止限量商品(如火箭直购等)的机器购买
  • 节省服务器成本: 过度爬取流量会增加实际服务成本
  • 数据资产保护: 数亿条商品评论和价格历史是Coupang的核心资产

4. Akamai Bot Manager的5阶段检测结构

Akamai Bot Manager不仅仅检查IP地址。它是由5个层次组成的多层检测系统

层1:HTTP标头和TLS指纹

首先检查的是HTTP请求本身的特征。

 탐지되는 패턴:
- User-Agent가 없거나 비정상적인 값
- Accept-Language, Accept-Encoding 등 필수 헤더 누락
- 헤더 순서가 실제 브라우저와 다름
- TLS 지문(JA3/JA4 해시)이 봇 도구의 패턴과 일치

Python的requests库的TLS握手模式与Chrome完全不同。在此阶段就会被过滤。

层2:JavaScript执行验证

加载Coupang页面时,Akamai的传感器脚本(约70KB)会一起执行。此脚本会:

  • 确认JavaScript在浏览器中正常运行
  • 收集浏览器API(如navigatorwindowdocument)的响应值
  • 生成WebGL、Canvas、AudioContext等指纹
  • 加密收集的数据并发送到Akamai服务器
  • 通过验证后发放_abck cookie(没有此cookie将无法访问数据)

不执行JavaScript的工具(如requests、curl、Scrapy)无法接收此cookie,因此会被阻止。

层3:浏览器指纹(Fingerprinting)

传感器脚本收集的浏览器指纹非常详细:

项目 收集内容
Navigator userAgent、platform、language、plugins、hardwareConcurrency
Screen width、height、colorDepth、availWidth、availHeight
WebGL 渲染器名称、供应商、支持扩展列表
Canvas 独特渲染哈希(即使是相同硬件也会因操作系统/驱动程序而有所不同)
AudioContext 音频处理管道指纹
自动化标志 navigator.webdriver__selenium_evaluatecallPhantom_phantom

Selenium默认会将navigator.webdriver设置为true仅此一项就足以立即被识别为机器人。

层4:行为分析(最难绕过)

Akamai还分析用户行为模式:

  • 鼠标轨迹: 人类不是直线移动。有微小的抖动和曲线。Akamai测量这些轨迹的熵。
  • 键盘输入: 分析打字速度和按键间隔(击键动态)。如果每个字符都以相同间隔输入,那就是机器人。
  • 滚动模式: 自动滚动会保持一致的速度,但人会在感兴趣的地方停下来,快速跳过,然后返回。
  • 页面停留时间: 页面加载后0.5秒内提取数据并离开的模式是自动化的典型。
  • 点击坐标: 每次精确点击相同坐标不是人类行为。

层5:IP声誉和速率限制

  • 同一IP在短时间内发出大量请求 → 立即封锁
  • 数据中心IP(如AWS、GCP、Azure等)→ 可疑分数大幅增加
  • VPN服务IP范围 → 列入黑名单
  • 之前被封锁的IP → 永久黑名单

必须通过所有5个层次才能收到正常数据。如果有一个失败,就会被封锁。


5. 常见尝试和失败模式

尝试爬取Coupang的开发者们遇到的典型失败案例。

尝试1:requests + BeautifulSoup

import requests
from bs4 import BeautifulSoup

url = "https://www.coupang.com/vp/products/12345678"
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) "
                  "AppleWebKit/537.36 Chrome/120.0.0.0 Safari/537.36"
}
response = requests.get(url, headers=headers)
print(response.status_code)  # 403 Forbidden
print(len(response.text))     # 빈 HTML 또는 챌린지 페이지

为什么失败: 由于不执行JavaScript,无法将传感器数据发送到Akamai。无法发放_abck cookie,因此所有请求都被阻止。TLS指纹也会被Python模式检测到。

尝试2:Selenium + ChromeDriver

from selenium import webdriver

options = webdriver.ChromeOptions()
options.add_argument("--headless")  # ← 이것부터 문제
driver = webdriver.Chrome(options=options)
driver.get("https://www.coupang.com/vp/products/12345678")
# → Akamai 챌린지 페이지 또는 무한 로딩

为什么失败: navigator.webdriver被设置为true,在第3层立即被检测到。即使使用undetected-chromedriver,自2024年后Akamai传感器v3会检测到额外的自动化痕迹(如CDP连接)。

尝试3:Playwright + Stealth插件

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(headless=False)  # Headed 모드
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://www.coupang.com/vp/products/12345678")
    # 가끔 성공 → 그러나 10회 중 3~4회만 통과

为什么不稳定: 在Headed模式下,可以通过第1至第3层,但在大规模收集时会在第4层(行为分析)和第5层(速率限制)被阻止。成功率不稳定,无法用于生产。

尝试4:Scrapy +代理轮换

# settings.py
ROTATING_PROXY_LIST = [...]
DOWNLOADER_MIDDLEWARES = {
    'rotating_proxies.middlewares.RotatingProxyMiddleware': 610,
}

为什么失败: Scrapy是HTTP客户端。无论更换多少代理,由于无法执行JavaScript,第2层将全部被阻止。更改IP只解决了5个层次中的一个。


6. 方法1:自建(高级用户)

要直接绕过所有层次,需要相当高的技术水平。

所需技术栈

1. Playwright 또는 Puppeteer + Stealth 플러그인
2. 주거용(Residential) 프록시 풀 — 한국 IP 필수
3. 브라우저 지문 위장 (fingerprint randomization)
4. 행동 시뮬레이션 (마우스 궤적, 키보드, 스크롤)
5. 캡챠 풀이 서비스 연동 (2Captcha, CapSolver 등)
6. 분산 실행 인프라 (Docker + 작업 큐)
7. 모니터링 & 자동 복구 시스템

最小实现示例

#  교육 목적 예시입니다. 실제 대규모 수집에는 부족합니다.

import asyncio
from playwright.async_api import async_playwright
import random

async def scrape_coupang_product(product_url: str):
    async with async_playwright() as p:
        # Headed 모드로 실행 (Headless는 거의 항상 차단됨)
        browser = await p.chromium.launch(
            headless=False,
            args=[
                '--disable-blink-features=AutomationControlled',
                '--disable-dev-shm-usage',
                '--no-sandbox',
            ]
        )

        # 실제 브라우저와 유사한 컨텍스트 설정
        context = await browser.new_context(
            viewport={'width': 1920, 'height': 1080},
            user_agent=(
                'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) '
                'AppleWebKit/537.36 (KHTML, like Gecko) '
                'Chrome/121.0.0.0 Safari/537.36'
            ),
            locale='ko-KR',
            timezone_id='Asia/Seoul',
        )

        # navigator.webdriver 제거
        await context.add_init_script("""
            Object.defineProperty(navigator, 'webdriver', {
                get: () => undefined
            });
        """)

        page = await context.new_page()

        # 1단계: 메인 페이지에서 시작 (직접 URL보다 탐지 회피율 높음)
        await page.goto('https://www.coupang.com', wait_until='networkidle')
        await asyncio.sleep(random.uniform(3, 6))  # 사람처럼 대기

        # 2단계: 검색으로 자연스럽게 진입
        search_box = page.locator('input[name="q"]')
        await search_box.click()
        await asyncio.sleep(random.uniform(0.5, 1.5))

        # 사람처럼 한 글자씩 타이핑
        keyword = "노트북"
        for char in keyword:
            await page.keyboard.type(char, delay=random.randint(80, 200))
            await asyncio.sleep(random.uniform(0.05, 0.15))

        await asyncio.sleep(random.uniform(1, 2))
        await page.keyboard.press("Enter")
        await page.wait_for_load_state('networkidle')
        await asyncio.sleep(random.uniform(2, 4))

        # 3단계: 스크롤 시뮬레이션 (사람처럼 불규칙하게)
        for _ in range(random.randint(2, 5)):
            scroll_amount = random.randint(200, 600)
            await page.mouse.wheel(0, scroll_amount)
            await asyncio.sleep(random.uniform(0.5, 2.0))

        # 4단계: 상품 정보 추출
        title = await page.text_content('.prod-buy-header__title')
        price = await page.text_content('.total-price strong')

        print(f"상품명: {title}")
        print(f"가격: {price}")

        await browser.close()

# 실행
asyncio.run(scrape_coupang_product("https://www.coupang.com/vp/products/12345678"))

自建的实际成本

项目 成本/时间
初始开发时间 2~4周(以资深开发人员为准)
住宅代理 每月$200~500(包括韩国IP 1~5GB)
服务器成本 每月$100~300(Headed浏览器需要大量GPU/内存)
验证码解决方案 每月$50~200(根据请求量)
维护 每2~4周需要应对Akamai传感器更新
月总成本 $350~1,000+(约50~150万韩元)

最大的风险是维护。 Akamai每2~4周更新一次传感器脚本。昨天成功的代码今天可能会被阻止。每次应对这种情况都需要数小时到数天。


7. 方法2:使用代理服务

住宅代理是什么?

通过实际家庭ISP(如KT、SKT、LGU+)连接的代理,而不是数据中心IP。由于使用与实际用户相同的IP,Akamai很难仅通过IP阻止。

主要代理服务比较

服务 住宅代理价格 拥有韩国IP 备注
Bright Data $8/GB~ 丰富 需要额外的绕过代码
Oxylabs $8/GB~ 与Bright Data类似
Smartproxy(现Decodo) $3.5/GB~ 重新品牌、性价比高
SOAX $3.6/GB~ 有限 韩国IP池较小

仅使用代理足够吗?

不够。 代理解决了第5层(IP声誉和速率限制)。其他4个层次仍需自行实现:

  • IP声誉/速率限制 → 代理解决
  • TLS指纹 → 需要额外处理
  • JavaScript执行 → 需要Playwright等
  • 浏览器指纹 → 需要Stealth插件
  • 行为分析 → 需要模拟代码

最终,代理服务只是解决了“方法1”的IP阻止问题,而不是独立的解决方案。


8. 方法3:使用爬虫专业服务

继续关注5个层次可能困难,使用已解决的服务是现实的选择。

Bright Data Web Scraper API

import requests

# Bright Data Scraping Browser API
response = requests.post(
    "https://api.brightdata.com/request",
    headers={"Authorization": "Bearer YOUR_TOKEN"},
    json={
        "zone": "scraping_browser",
        "url": "https://www.coupang.com/vp/products/12345678",
        "format": "raw"
    }
)
  • 价格: Scraping Browser $499/月起,Web Unlocker $499/月起
  • Coupang成功率: 高(拥有自身反机器人绕过技术)
  • 优势: 全球覆盖、稳定的基础设施
  • 限制: 无韩语技术支持,自助服务,需要自行解析/处理数据,无专门针对Coupang的优化

Firecrawl

from firecrawl import FirecrawlApp

app = FirecrawlApp(api_key="fc-YOUR-KEY")
result = app.scrape_url(
    "https://www.coupang.com/vp/products/12345678",
    params={"formats": ["markdown"]}
)
  • 价格: $19/月起(500点数,Stealth Proxy每页消耗5点数)
  • Coupang结果: 被阻止。 即使启用Stealth Proxy,也无法通过

Comments

Add Comment

Your email won't be published and will only be used for reply notifications.

继续阅读

Get notified of new posts

We'll email you when 해시스크래퍼 기술 블로그 publishes new content.

Your email will only be used for new post notifications.