GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo crear capturas de pantalla de sitios web (html) con PHP Script y Linux Command Line

Wkhtmltoimage es una aplicación muy útil para crear capturas de pantalla de un sitio web o página web. Algunas veces requerimos crear una captura de pantalla de las páginas web y almacenarlas en nuestro sistema. Utiliza el motor de renderizado QT Webkit para crear imágenes en varios formatos. Este artículo le ayudará a capturar capturas de pantalla de una página web utilizando un script php y la línea de comandos de Linux.

Paso 1:Instale wkhtmltoimage en Linux

Descargue wkhtmltoimage desde el código de Google e instálelo en su sistema Linux siguiendo los siguientes pasos.

# cd /opt
# wget http://downloads.sourceforge.net/project/wkhtmltopdf/0.12.0/wkhtmltox-linux-i386_0.12.0-03c001d.tar.xz
# tar xJf wkhtmltox-linux-i386_0.12.0-03c001d.tar.xz
# ln -s /opt/wkhtmltox/bin/wkhtmltoimage /usr/bin/wkhtmltoimage
# chown apache:apache /usr/bin/wkhtmltoimage
# chmod +x /usr/bin/wkhtmltoimage

Paso 2:crear una imagen mediante la línea de comandos

Primero verifique el script wkhtmltoimage usando la línea de comandos de Linux. El siguiente comando tomará una captura de pantalla de http://google.com y crea una imagen con el nombre google.jpg.

# /usr/bin/wkhtmltoimage --no-images --load-error-handling ignore http://google.com google.jpg

Paso 3:Código PHP para crear una imagen

Use el siguiente código php para generar una imagen desde html (url del sitio web). Este script requería tener habilitada la función shell_exec para Apache. La mayoría de los proveedores de alojamiento compartido no permiten esta función.

Cree un nombre de archivo getImage.php y pon debajo del código:

PHP

Use el siguiente syntex o URL de demostración para generar una imagen del sitio web (html).

Sintaxis:

http://youdomain.com/getImage.php?url=<website url>&img=<image name>

Ejemplo:

https://tecadmin.net/getImage.php?url=http://google.com&img=image1.jpg

Paso 4:Script PHP para URL compatible con SEO

Si desea crear una URL compatible con SEO para esta configuración, puede seguir los pasos a continuación.

Cree algunos directorios necesarios en la raíz de documentos de su servidor web

# mkdir -p /var/www/html/getImage/
# mkdir -p /var/www/html/getImage/images/

Crear index.php archivo con el siguiente contenido. Asegúrese de que todas las rutas del directorio sean correctas,

PHP
123456789 <?php $url =$_GET['url']; // URL del sitio web para crear la imagen$name =$_GET['img']; // Nombre de la imagen de salida$comando ="/usr/bin/wkhtmltoimage --no-images --load-error-handling ignore";$dir_img ="/var/www/html/images/"; // Los archivos de imagen se guardarán aquí $ex_cmd ="$comando $url " . $dir_img. $nombre;$salida =shell_exec($ex_cmd);?>

Ahora crea un .htaccess en este directorio para mover todas las solicitudes al archivo index.php. asegúrese de que su servidor esté habilitado para usar el archivo .htaccess.

# vi /var/www/html/getImage/.htaccess

RewriteEngine On
RewriteCond %{REQUEST_URI} /images/.+(gif|png|jpg)$
RewriteRule .* - [L]
RewriteRule ^.*$ index.php

Ahora puede crear imágenes accediendo a direcciones URL como las siguientes

Sintaxis:

 http://youdomain.com/getImage/[imagename]/[site url without http prefix]

Ejemplo:

 https://tecadmin.net/getImage/123.jpg/yahoo.com

Linux
  1. Copie y pegue en la línea de comandos de Linux con xclip

  2. Compile y construya con una sola línea de comando Java (Linux)

  3. ¿Cómo convertir un PDF a JPG con línea de comando en Linux?

  4. ¿Cómo reemplazar un archivo en jar con línea de comando en Linux?

  5. ¿Cómo crear un USB de arranque desde un ISO de arranque con la línea de comandos en Linux?

Cómo crear una copia de seguridad con el comando tar en Linux

Cómo eliminar archivos y directorios usando la línea de comandos de Linux

Cómo crear un alias en Linux

Cómo comprobar la versión del sistema operativo con la línea de comandos de Linux

Cómo instalar Dig en Linux con ejemplos de línea de comandos

Cómo crear y administrar nuevos usuarios en Linux

    123456789101112131415 <?php $url =str_replace('index.php','', $_SERVER['PHP_SELF']);$url =str_replace($url,'',$_SERVER[' SOLICITUD_URI']);$url =explotar('/',$url);$nombre =array_shift($url);$weburl =array_shift($url); $command ="/usr/bin/wkhtmltoimage --no-images --load-error-handling ignore";$dir_img ="/var/www/html/getImage/images/"; // Los archivos de imagen se guardarán aquí $ex_cmd ="$command $weburl " . $dir_img. $nombre;$salida =shell_exec($ex_cmd);echo "<img src="/getImage/images/$nombre" >"; // comente esto para deshabilitar la visualización de imágenes en la página ?>