For the complete documentation index, see llms.txt. This page is also available as Markdown.

Renderizado de JavaScript

Aprende sobre el encabezado que puedes incluir en tus solicitudes para obtener datos totalmente renderizados, que puedes guardar en un archivo HTML o como una captura PNG.

Si la página que desea extraer requiere cargar JavaScript para cargar dinámicamente todos los datos necesarios en el DOM, en lugar de configurar y usar un Headless Browser por su cuenta, puede incluir el "X-Oxylabs-Render: html" encabezado con sus solicitudes. Todas las solicitudes con este encabezado incluido se renderizarán por completo y todos los datos se almacenarán en un archivo HTML o una captura de pantalla PNG (según el parámetro pasado).

El renderizado de JavaScript tarda más en extraer la página. Al usar el renderizado de JavaScript, establezca el valor de tiempo de espera del lado del cliente en 180 segundos.

Este parámetro tiene dos valores disponibles:

  • html (HTML de una página renderizada)

  • png (bytes sin procesar que se pueden guardar como PNG)

Ejemplos de código

curl -k -v -x https://unblock.oxylabs.io:60000 \
-U 'USERNAME:PASSWORD' \
'https://ip.oxylabs.io/location' \
-H 'X-Oxylabs-Render: html'
import requests

# Use your Web Unblocker credentials here.
USERNAME, PASSWORD = 'YOUR_USERNAME', 'YOUR_PASSWORD'

# Define proxy dict.
proxies = {
  'http': f'http://{USERNAME}:{PASSWORD}@unblock.oxylabs.io:60000',
  'https': f'https://{USERNAME}:{PASSWORD}@unblock.oxylabs.io:60000',
}

headers = {
    'X-Oxylabs-Render': 'html'
}

response = requests.get(
    'https://ip.oxylabs.io/location',
    verify=False,  # It is required to ignore certificate
    proxies=proxies,
    headers=headers,
)

# Print result page to stdout
print(response.text)

# Save returned HTML to result.html file
with open('result.html', 'w') as f:
    f.write(response.text)

Extracción del HTML de un sitio web

En este ejemplo, renderizaremos la página de inicio de YouTube y extraeremos el contenido de la página. Normalmente, la página de inicio de YouTube se vería así si se usa Web Unblocker sin renderizado de JavaScript:

Ejemplo de página de YouTube sin renderizado de JavaScript

Agregando el "X-Oxylabs-Render: html" encabezado, como se muestra en los ejemplos a continuación, habilitará el renderizado de JavaScript y devolverá el HTML de una página renderizada:

El archivo HTML abierto en un navegador debería verse así:

Obtener una captura de pantalla de una página totalmente renderizada

Para obtener una captura de pantalla en formato PNG en lugar del HTML de la página, es necesario proporcionar el "X-Oxylabs-Render: png" encabezado.

La respuesta contendrá bytes sin procesar de una imagen que se pueden guardar en formato PNG y abrir como en el ejemplo a continuación:

Ejemplo de página de YouTube como captura de pantalla en formato PNG

Forzar el renderizado en páginas específicas

Para una extracción exitosa, algunos tipos de página de dominios específicos requieren renderizado debido a su contenido dinámico. Nuestro sistema aplica automáticamente el renderizado para estas páginas, incluso si el usuario no lo establece explícitamente.

Queremos que nuestros usuarios sean plenamente conscientes de esto al extraer las siguientes páginas:

Este enfoque proporciona la mejor experiencia de extracción posible, garantizando la precisión y confiabilidad de los datos de estas páginas difíciles.

Si desea deshabilitar el renderizado, envíe el encabezado de renderizado sin un valor

¿Te fue útil?