> ## Documentation Index
> Fetch the complete documentation index at: https://www.octoparse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Extracción de datos tras pantallas de inicio de sesión

> Cómo gestionar páginas autenticadas con Cookie, reutilización de sesiones, inicio en navegador, límites de MFA y prácticas seguras para la cuenta.

Muchas páginas útiles requieren iniciar sesión: dashboards de cuentas, portales internos, directorios de miembros, búsquedas guardadas, historiales de pedidos e informes privados. Para un scraper, el problema no se limita a introducir un usuario y una contraseña. Debe mantener una sesión autenticada válida durante el tiempo suficiente para navegar y extraer datos de forma fiable.

Limita la extracción autenticada a los datos a los que tengas permitido acceder. Iniciar sesión no elimina las obligaciones legales, contractuales, de privacidad o de las políticas de la plataforma. Trátala como un flujo de mayor riesgo: usa cuentas autorizadas, respeta los controles de acceso y no recopiles datos ajenos a los permisos previstos.

## Qué cambia después de iniciar sesión

Una página pública puede recuperarse con una solicitud HTTP sencilla. Una página autenticada suele depender de varios elementos del estado del navegador:

* **Cookie de sesión** que demuestran que el usuario ya se autenticó.
* **Tokens CSRF** o encabezados que el sitio espera en formularios y llamadas a API.
* Valores de **almacenamiento local o de sesión** utilizados por aplicaciones de una sola página.
* **Lógica de redirección** que devuelve a `/login` a los visitantes no autenticados.
* **Reglas de caducidad** que invalidan sesiones por tiempo, inactividad, cambios de IP o eventos de seguridad.

Por eso copiar una URL autenticada en un scraper suele fallar. La URL es solo la parte visible; el estado de la sesión permite cargar la página.

## Enfoque 1: reutilizar Cookie de una sesión real

El enfoque más habitual es iniciar sesión una vez, guardar las Cookie resultantes y reutilizarlas. Funciona cuando el sitio mantiene las sesiones durante horas o días y no las vincula estrechamente a un dispositivo o IP.

```python theme={null} theme={null}
import requests

session = requests.Session()
session.cookies.update({
    "sessionid": "saved-session-cookie",
})

response = session.get("https://example.com/account/orders")
print(response.status_code)
```

En producción, no codifiques Cookie directamente en los archivos fuente. Almacénalas de forma segura, rótalas cuando caduquen y trátalas como credenciales.

Este método funciona mejor con páginas representadas en el servidor o API que aceptan las mismas Cookie. Es frágil con tokens de corta duración, comprobaciones del dispositivo o reautenticación frecuente.

## Enfoque 2: iniciar sesión con un navegador

Algunos sitios requieren un flujo en un navegador real. El scraper abre la página de inicio, rellena y envía el formulario, espera a la página de la cuenta y guarda el estado para otras ejecuciones.

```python theme={null} theme={null}
from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(headless=False)
    context = browser.new_context()
    page = context.new_page()

    page.goto("https://example.com/login")
    page.fill("#email", "user@example.com")
    page.fill("#password", "correct-horse-battery-staple")
    page.click("button[type='submit']")
    page.wait_for_url("**/account/**")

    context.storage_state(path="auth-state.json")
    browser.close()
```

Las ejecuciones posteriores pueden cargar el estado:

```python theme={null} theme={null}
from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch()
    context = browser.new_context(storage_state="auth-state.json")
    page = context.new_page()
    page.goto("https://example.com/account/orders")
```

El inicio mediante navegador es más lento que las solicitudes con Cookie, pero gestiona mejor páginas con mucho JavaScript, redirecciones y valores de almacenamiento.

## Enfoque 3: reproducir la API de inicio de sesión

A veces el formulario envía una solicitud POST sencilla a un endpoint de autenticación. Si el flujo es directo y las condiciones del sitio lo permiten, puedes reproducirla con un cliente HTTP, capturar las Cookie y continuar.

Suele ser menos estable que un navegador porque los flujos incluyen tokens CSRF, comprobaciones anti-bot, huellas de dispositivos o campos ocultos variables. El panel Red permite determinar si es viable reproducir el inicio o si resulta más seguro usar una sesión de navegador.

## MFA, SSO y avisos de seguridad

La autenticación multifactor cambia el diseño. Un scraper no debe intentar eludir MFA. En su lugar:

* Incluye un inicio de sesión humano y guarda después la sesión autenticada.
* Prioriza API oficiales o cuentas de servicio cuando estén disponibles.
* Prevé que las sesiones caduquen e incorpora un flujo de actualización o nuevo inicio.
* No uses cuentas personales para trabajos de producción desatendidos.

Los flujos SSO pueden estar aún más restringidos porque cruzan dominios, aplican políticas de la organización o muestran avisos si cambia la identidad del navegador. Un perfil persistente o una integración oficial suele ser más fiable que un cliente HTTP sencillo.

## Seguridad de la sesión

La extracción autenticada puede bloquear cuentas, activar alertas o exponer información sensible. Aplica estas medidas:

* **Separa las cuentas por tarea.** No mezcles trabajos sin relación en la misma sesión.
* **Mantén estables la IP y la identidad del navegador.** Cambiar de Proxy a mitad de la sesión puede parecer un secuestro de cuenta.
* **Limita la frecuencia.** Las áreas autenticadas suelen tener una supervisión más estricta.
* **Detecta las páginas de cierre de sesión.** No analices una pantalla de inicio como si fueran datos reales.
* **Guarda los secretos con seguridad.** Credenciales, Cookie y archivos de estado son sensibles.
* **Registra el acceso de forma intencionada.** Conserva suficiente historial para diagnosticar fallos sin escribir contenido privado ni credenciales.

## Cómo encaja Octoparse

Las herramientas visuales suelen permitir iniciar sesión en un Navegador integrado y conservar las Cookie y la sesión, o simular los pasos de inicio como parte de la tarea.

Octoparse sigue este modelo. Los usuarios pueden autenticarse en el Navegador integrado y reutilizar la sesión, o configurar la tarea para que reproduzca el inicio antes de navegar. Se mantienen los mismos límites: MFA puede requerir intervención humana, las sesiones caducan y la cuenta debe estar autorizada.

## Cuándo no extraer contenido tras un inicio de sesión

No extraigas contenido autenticado si careces de permiso, si los datos pertenecen a otros usuarios, si las condiciones prohíben el caso de uso o si existe una exportación o API oficial más adecuada. Este tipo de extracción debe reservarse para flujos autorizados en los que el titular recopila sus propios datos accesibles o actúa dentro de un proceso empresarial aprobado.

El patrón técnico es sencillo: autenticar, conservar el estado, navegar, detectar la caducidad y actualizar cuando sea necesario. Lo difícil es operarlo con responsabilidad.
