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 rastrear requiere cargar JavaScript para cargar dinámicamente todos los datos necesarios en el DOM, en lugar de configurar y usar un navegador sin cabeza por su cuenta, puede incluir el "X-Oxylabs-Render: html" encabezado en sus solicitudes. Todas las solicitudes con este encabezado incluido se renderizarán completamente y todos los datos se almacenarán en un archivo HTML o en una captura de pantalla PNG (según el parámetro pasado).
Para garantizar el menor consumo de tráfico, nuestro sistema no carga recursos innecesarios durante el renderizado de la página.
Este parámetro tiene dos valores disponibles:
html(HTML de una página renderizada)png(bytes sin procesar que pueden guardarse 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 sus credenciales de Web Unblocker aquí.
USERNAME, PASSWORD = 'YOUR_USERNAME', 'YOUR_PASSWORD'
# Defina el dict de proxy.
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, # Es necesario ignorar el certificado
proxies=proxies,
headers=headers,
)
# Imprimir la página resultante en stdout
print(response.text)
# Guardar el HTML devuelto en el archivo result.html
with open('result.html', 'w') as f:
f.write(response.text)Rastrear el 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 Web Unblocker se usa sin renderizado de Javascript:

Agregando el "X-Oxylabs-Render: html" encabezado, como se muestra en los ejemplos a continuación, permitirá el renderizado de Javascript y devolverá un 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, se requiere proporcionar el "X-Oxylabs-Render: png" encabezado.
La respuesta contendrá bytes sin procesar de una imagen que se puede guardar en formato PNG y abrir como en el ejemplo a continuación:

Forzar el renderizado en páginas específicas
Para un rastreo exitoso, algunos tipos de páginas 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 no se establece explícitamente por el usuario.
Tenga en cuenta que los trabajos renderizados consumen más tráfico en comparación con los trabajos no renderizados.
Queremos que nuestros usuarios sean plenamente conscientes de esto al rastrear las siguientes páginas:
Este enfoque proporciona la mejor experiencia de rastreo posible, garantizando la precisión y la fiabilidad de los datos de estas páginas difíciles.
Si desea desactivar el renderizado, envíe el encabezado de renderizado sin valor
Última actualización
¿Te fue útil?

