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

请求mediamarkt.es始终返回403,Node.js爬虫运行异常如何解决?

问题核心原因

你遇到的403报错不是Header配置不全导致的,是站点反爬系统识别到了非浏览器的底层请求特征:axios底层依赖Node.js原生http模块,其TLS握手加密套件顺序、HTTP协议版本、帧顺序等特征和真实Chrome浏览器存在明显差异,被反爬系统直接识别拦截。


可落地解决方案

  • 方案1:替换为爬虫专用HTTP客户端(最高优先级,改造成本最低)
    推荐使用got-scraping,它内置了Chrome级别的指纹伪装能力,自动对齐TLS加密套件顺序、HTTP2帧顺序、浏览器标准Header顺序等axios无法处理的底层特征,示例代码如下:

    const { gotScraping } = require('got-scraping');
    
    const tc = async () => {
      try {
        const response = await gotScraping.get('https://www.mediamarkt.es', {
          headers: {
            "Accept-Language": "en-US,en;q=0.9",
          }
        });
        console.log(response.statusCode);
        // 输出页面内容:console.log(response.body)
      } catch (err) {
        console.log(err.response?.statusCode, err.message);
      }
    }
    
    tc();
    
  • 方案2:保留axios依赖的改造方案

    1. 安装http2-wrapper依赖,替换axios默认adapter,让请求走HTTP2协议和真实浏览器对齐
    2. 补充Upgrade-Insecure-Requests: 1、Connection: keep-alive两个标准浏览器Header
    3. 调整Accept-Encoding为gzip, deflate, br,同时配置axios自动解压缩br编码的响应
  • 方案3:高兼容低代码方案
    使用无头浏览器模拟真人访问,搭配puppeteer-extra-plugin-stealth可以绕过绝大多数反爬验证,适合复杂站点爬取,仅资源消耗比纯HTTP客户端更高,示例代码如下:

    const puppeteer = require('puppeteer-extra');
    const StealthPlugin = require('puppeteer-extra-plugin-stealth');
    puppeteer.use(StealthPlugin());
    
    const tc = async () => {
      const browser = await puppeteer.launch({ headless: "new" });
      const page = await browser.newPage();
      await page.setUserAgent("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36");
      const response = await page.goto("https://www.mediamarkt.es");
      console.log(response.status());
      // 输出页面内容:const html = await page.content()
      await browser.close();
    }
    
    tc();
    
  • 额外排查点
    如果修改请求特征后仍然返回403,大概率是你的访问IP已经被站点标记为异常IP,建议更换为住宅代理IP再测试,数据中心IP被拦截的概率极高。


内容的提问来源于stack exchange,提问作者Gadišauskas

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 15:54:04