Previsualizar una web en imagen

Y

Llevo mucho tiempo investigando la manera, pero no hayo con la solución.

En esta web vemos como realizo un whois a media-vida.net http://whois.domaintools.com/media-vida.net y no solo me devuelve los datos, sino una previsual de la página web en una imagen.

La imagen la crea a tiempo real (al menos la primera). No me vale soluciones de "utiliza esta web" donde alguien ya lo ha programador y oferta la solución. Necesito averiguar la manera de como hacerlo.

Con una pista ya me sería suficiente ;).

Gracias.

guner

Vamos, que quieres hacer algo como browsershots, ¿no?.

<?php

$img = mktime() . '.png';
exec('firefox ' $_GET['url']);
sleep(10);
exec('scrot parametros'); // por ejemplo.
/* Operaciones de recorte con
GD (www.php.net/gd) */

?>
" />

Así a lo basto es lo que se me ocurre.

Y

el problema con el firefox es que no hay display X creado para generar dicha acción. Y además, para ello tendría que jugar con sesiones de las X si tuviera X

-nazgul-

Ejecutar un programa externo que haga el screenshot.

guner

#4, eso es, a grandes rasgos lo que he escrito arriba. Lo que pasa es que en GNU/Linux necesitas una sesión gráfica para poder lanzar un programa gráfico (esto es obvio ¬_¬) y si no la tienes, pues, poco que hacer.

Seguramente exista algún programa que implemente Gecko, o KHTML para desviar la salida a una imagen, porque, es o eso o el screenshot.

IS4kO

Si no pasas de .Net investiga la clase Drawing

http://msdn2.microsoft.com/en-us/library/xs6ftd89(vs.80).aspx

-nazgul-

Ajá, no sabía que era el scrot. El método es un poco bruto y tiene muchas desventajas, léase ralentizar el servidor y plantear problemas de seguridad, etc. En browsershots se describe un método mucho más complejo, aunque no lo acabo de entender del todo.

#6 Eso no tiene que ver con lo que el pregunta.

IS4kO

#7 La clase drawing ("eso") tiene entre otros, un método para generar imágenes desde streams de datos......

Y

Ya bueno, pero .Net no me interesa. Prefiero métodos libres.

Esta web trabaja en php así que debe de haber alguna manera. Como? no se, tarea ardua me he encontrado, pero encontraré la forma :D

Aún así gracias por vuestro interés, si lo consigo (que seguro que si, es solo cuestión de tiempo, todavía no hay nada que se me haya resistido :P jejejeje) ya lo postearé para que os copieis la receta :P

Y si alguien tiene idea no está de más que lo quiera compartir :D

-nazgul-

A ver la única manera de generar esa imagen es a partir de un browser y un programa de screenshots. Es posible crear un browser en PHP pero es una tarea faraónica, con lo que la única solución realista es o ejecutar ambos programas externos (poco aconsejable si se hace en el mismo servidor de la web) o bien usar una aplicación externa hecha con ese fin, que probablemente utilizará una librería de rendering de terceros como la del IE.

De lo que estoy casi 100% seguro es de que no es PHP.

Y

es php claramente, si no, es fácil http://www.domaintools.com/index.php y vamos, no creo que sea la única manera, porque la primera captura lo hace a tiempo real.

-nazgul-

Quizás esto te interese, pero sólo funcionará en Mozilla:

http://weblogs.mozillazine.org/roc/archives/2005/05/rendering_web_p.html

Ya se que es PHP pero no se puede hacer eso sin utilizar programas externos como puedes ver en #2 ;y la captura de domaintools no se hace a tiempo real, si lees el faq dice que puede tardar hasta 24 horas en hacerla.

Usuarios habituales