ASPSnapShot - Captura de sitios web automatizadas
En esta ocasión quiero compartir con mis lectores, una de mis primeras clases hechas con fines propios, es decir que ya no necesité de los ejemplos de los libros para crear una clase hecha y derecha ;)
He aquí el código:
Y la forma de llamar al objeto es muy sencilla:
Eso guardaría la imagen asp-pro.png en un subdirectorio llamado capturas/.
NOTAS IMPORTANTES:
Para que la clase funcione hay ciertas circunstancias que deben darse:
Primero, estamos usando una aplicación gratuita para windows llamada URL2BMP que es un programa Stand Alone que se ejecuta en segundo plano.
Segundo, para poder hacer esto, necesitamos que el proveedor de hosting nos de acceso a la shell, con el Objeto WScript.Sell.
Tercero, la captura se hace renderizando la página con el navegador por defecto del servidor, es decir que se la renderiza con Internet Explorer, por lo que si el diseño no está optimizado para este navegador, el snap se verá mal.
He aquí el código:
<%
'//Clase ASPSnapshot Version 0.6
'//Creada por Julio Carchi.
'//correo electrónico: juliocarchi@yahoo.com
'//Este código tiene restricciones sobre su uso.
'//No puede ser usado en aplicaciones de terceros,
'//sin previo consentimiento del autor.
Class ASPSnapShot
Private oWSL
Private direccion
Private RutaImagen
Private extension
Private anchura
Private largura
Public Property Let URL(snap_URL)
direccion = snap_URL
End Property
Public Property Let Archivo(nombre_archivo)
RutaImagen = Server.MapPath("capturas/"&nombre_archivo)
End Property
Public Property Let Formato(imagen_formato)
extension = imagen_formato
End Property
Public Property Let Ancho (ancho_imagen)
anchura = ancho_imagen
End Property
Public Property Let Largo (largo_imagen)
largura = largo_imagen
End Property
Private Sub Class_Initialize()
Set oWSL = Server.CreateObject("Wscript.Shell")
End Sub
Private Sub CreaSnap()
Dim url, file, format, wx, wy, bx, by, wait, comando, ejecutar
url = direccion
file = RutaImagen
format = extension
wx = 1024
wy = 768
bx = anchura
by = largura
wait = 2
comando = Server.MapPath("url2bmp.exe")&" -url"&direccion&" -file"&rutaimagen&" -format"&extension& _
" -wx"&wx&" -wy"&wy&" -bx"&bx&" -by"&by&" -wait"&wait&" -maximize -notinteractive -removesb"
Set ejecutar = oWSL.Exec(comando)
End Sub
Public Sub Capturar()
call CreaSnap
End Sub
Private Sub Class_Terminate()
Set oWSL = nothing
End Sub
End Class
%>
Y la forma de llamar al objeto es muy sencilla:
<!-- #include file="snapshot.asp" -->
<%
Dim Captura
Set Captura = new ASPSnapShot
Captura.URL = "http://www.asp-pro.es
Captura.Archivo = asp-pro
Captura.Formato = "png"
Captura.Ancho = 300
Captura.Largo = 225
Captura.Capturar
%>
Eso guardaría la imagen asp-pro.png en un subdirectorio llamado capturas/.
NOTAS IMPORTANTES:
Para que la clase funcione hay ciertas circunstancias que deben darse:
Primero, estamos usando una aplicación gratuita para windows llamada URL2BMP que es un programa Stand Alone que se ejecuta en segundo plano.
Segundo, para poder hacer esto, necesitamos que el proveedor de hosting nos de acceso a la shell, con el Objeto WScript.Sell.
Tercero, la captura se hace renderizando la página con el navegador por defecto del servidor, es decir que se la renderiza con Internet Explorer, por lo que si el diseño no está optimizado para este navegador, el snap se verá mal.
Etiquetas: ASP, Captura, Miniaturas, SnapShots, Thumbnails, URL2BMP
0 comentarios:
Publicar un comentario
Suscribirse a Enviar comentarios [Atom]
<< Inicio