Así que estoy tratando de raspar mediamarkt.es con este código:
PORT = 8000; const express = require("express"); const axios = require("axios").default; const cors = require("cors")({ origin: true }); const app = express(); const ax = axios.create({ headers: { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", "Accept-Encoding": "gzip, deflate", "Accept-Language": "en-US,en;q=0.9", }, }); const tc = () => { ax.get("https://www.mediamarkt.es") .then((response) => { console.log(response.status); }) .catch((err) => { console.log(err.response.status); }); }; app.listen(PORT, () => { tc(); });Cada vez que recibo el error 403. Probé en Chrome con javascript deshabilitado y caché limpia, por lo que funciona y devuelve 200, pero en el código nodejs siempre obtengo 403. Con 403 hay html que dice captcha, pero creo que puedo hacer la misma solicitud con nodejs que Chrome. Simplemente no puedo imaginar lo que me estoy perdiendo... Cualquier ayuda sería muy apreciada.