You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Adidas爬虫被拦截问题求助:如何突破访问限制?

解决Adidas爬虫被安全验证拦截的方案
  • 补全请求头信息:只设置User-Agent远远不够,Adidas的反爬机制会校验更多请求头字段。你得加上Accept、Accept-Language、Referer这些浏览器默认携带的字段,模拟真实用户的请求特征。示例代码:

    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36',
        'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
        'Accept-Language': 'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3',
        'Referer': 'https://www.adidas.com.cn/'
    }
    
  • 维持会话Cookie:Adidas会用Cookie跟踪会话状态,直接请求产品页容易被拦截。用requests.Session()先访问Adidas首页,让服务器生成合法的会话Cookie,再请求目标产品页,示例:

    session = requests.Session()
    # 先访问首页获取会话Cookie
    session.get('https://www.adidas.com.cn/', headers=headers)
    # 再请求目标产品页面
    response = session.get('你的目标产品URL', headers=headers)
    
  • 用浏览器渲染工具绕过JS验证:如果返回的安全验证页面依赖JavaScript生成,纯HTTP请求库requests无法处理。换成selenium或者playwright模拟真实浏览器,它们能自动执行JS,处理动态验证逻辑。简单示例(selenium):

    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    import time
    
    options = Options()
    # 无头模式,不弹出浏览器窗口
    options.add_argument('--headless=new')
    options.add_argument('user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36')
    driver = webdriver.Chrome(options=options)
    driver.get('你的目标产品URL')
    # 给页面加载留缓冲时间
    time.sleep(2)
    page_source = driver.page_source
    # 后续解析页面使用page_source
    driver.quit()
    
  • 添加随机请求延迟:短时间内频繁请求会被标记为爬虫。在每次请求之间添加1-3秒的随机延迟,模拟人类浏览间隔,用time.sleep(random.uniform(1, 3))实现即可。

  • 处理验证码(如果触发):若页面出现验证码,个人项目里可以先尝试手动输入验证,或者使用免费的验证码识别工具;但优先通过前面的方法避免触发验证码,毕竟识别验证码成本高且不稳定。

内容的提问来源于stack exchange,提问作者Sakratex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 12:12:51