Primero, ¿qué demonios es el error 403? 🤬
Pues para hacer el cuento corto, obtienes un error 403 cuando intentas acceder a una url y el servidor te contesta: "Not today, baby" 🚫.
Cuando "escrapeamos" con la librería requests
de Python, si no colocamos en el header
de la petición el parámetro User-Agent
algunos sitios webs no te permitirán el acceso. El User-Agent
básicamente le da información al servidor sobre "con qué" se está conectando al sitio web.
Con este parámetro le dices al sitio web: "Querido sitio web, me estoy conectado usando [TU BROWSER FAVORITO, es decir Brave 😂]". Si no incluyes este parámetro, el sitio web piensa que le están haciendo un "ataque" (si configuraron esto -es una buena práctica. ¡Háganlo!-) y no te permite el acceso.
¿Cómo resolverlo?
Sencillo, en la petición de requests
incluimos el User-Agent
de esta manera:
response = requests.get(url, headers="{'User-Agent': 'Mozilla/5.0'}")
Listo 🤙🏼
Más detalles
- Aquí tienes un explicación más formal y extensa sobre el error 403.
- Detalles sobre el User-Agent.
- Y una lista de toooodos los User-Agents.
- Fuente de la imagen: LucusHost
Top comments (0)