Chequeador de imágenes inexistentes para Foros SMF v0.1
Hola amigos!!!
Aquí ando de nuevo
Hoy voy a aportar un programa que he creado hace unos días, este programa tiene una única función y trabaja por consola.
Lo primero que hay que hacer, es descargar el programa y configurarlo, abajo voy a explicar para que sirve cada configuración.
Pero primero voy a explicar que es lo que hace este programa.
Bueno en realidad es como bien indica el título, es un programa ejecutable que analiza la tabla de mensajes de nuestro Foro SMF y busca en ella todas las direcciones URLs de imágenes que encuentre para poder chequearlas y así comprobar cuales son las imágenes que no existen, ya sea porque la imagen no existe o porque esté denegada esa URL (Forbidden), etc.
Cuando se haya ejecutado la herramienta, ésta mostrará por la consola este mensaje:
Comenzando el chequeo...
Esto puede demorar varios o muchos minutos dependiendo
de la cantidad de mensajes e imágenes que tenga su Comunidad
y de su conexión a internet.que por supuesto es un aviso de que la velocidad del programa en analizar las imágenes dependerá de la cantidad de mensajes e imágenes que hayan en tu Comunidad, y de tu conexión a internet.
Cabe aclarar que la herramienta está programada de la mejor manera posible para que sea lo más efectiva y rápida.
Yo he hecho una prueba con el programa para saber que tan potente es, he usado una tabla de la base de datos de mi foro y la he multiplicado en el archivo por no tengo idea cuántas veces, pero ha alcanzado a pesar 2.27 GB (solo mensajes) y el programa trabajó perfectamente sin ningún problema.
A modo de comentario al principio había tenido un problema ya que cuando probé esa tabla SQL de 2.27 GB con el programa ya pasado a ejecutable, en el momento que abría la aplicación, pasaban unos segundos y se cerraba, tube que usar un capturador de pantalla para poder saber cuál era el error exactamente... y lo logré ver y realmente me decepcioné, el error decía esto:
Memory errorun error de memoria, por lo tanto el programa no soportaba tanta cantidad de líneas (eran millones) o bien la memoria de mi pc no era suficiente para tanto trabajo que el programa tenía que hacer, así que probé otro método que debería de funcionar, y enhorabuena!! ahí si pudo leer esa cantidad de datos y trabajar perfectamente!!!
Siguiendo con la explicación, el programa al ejecutarlo, también informa si hay Foros exceptuados o no, si los hay, entónces muestra todas las IDs de esos Foros, por ejemplo:
Entónces al iniciar el programa veremos por ejemplo esto:
como podrán ver el chequeo comienza en el instante, además de que esto por ejemplo:
OK => http://www.subeimagenes.com/img/foto3-1260110.pnges un indicador de que esa imagen realmente existe!!!
También va informando las URLs de imágenes que no existen y el error que da al intentar acceder a ellas.
Debo aclarar que el programa no descarga la imagen, simplemente espera recibir el código de estado 200 (Funciona URL), cuando lo recibe, pasa a verificar otra imagen, así que por más que la imagen pese 1, 2 o más megas, nunca la descargará, tenga el peso que tenga.
Cuando el programa termine el chequeo mostrará por ejemplo estos datos:
que informan un resumen del análisis, solo queda presionar la tecla ENTER para cerrar la consola.
Mientras tanto, al recibir esos datos, ya se ha creado un archivo Log en el que ahí se detalla todo correctamente para poder saber con exactitud que error fué el que dieron las imágenes, cuál es la URL exacta del post en donde ha fallado esa imagen y también la URL de la imagen:
El programa mostrará además la fecha exacta con hora, día, mes y año en el que se ejecutó el programa para chequear las imágenes inexistentes.
Bueno ahora paso a explicarles la configuración.
La aplicación dispone de varias configuraciones para que sea mejor en todo sentido.
Voy a listar todas las configuraciones que tiene y abajo diré para que sirve cada opción, esto es un ejemplo:
Nombre de la BD -> mi bd.sql
URL Foro ->
http://www.misartesanias.net/index.phpIDs de Foros Exceptuados -> 3,4,12,5,7,8,13,15,9,10,11,18
URLs Exceptuadas ->
http://www.misartesanias.net/,http://www.argentinairc.net/Timeout -> 15
Reintentos -> 3
Abrir archivo Log al terminar el chequeo -> si
En primer lugar, estas configuraciones se encuentran dentro de un archivo llamado
Configuracion.ini que está ubicado junto con el programa, es decir, en el mismo directorio.
Nombre de la BD -> Acá debés escribir el nombre del archivo que contiene la tabla de mensajes, por ejemplo
messages.sql.
URL Foro -> Simplemente la URL exacta de tu Comunidad, por ejemplo
http://www.argentinairc.net/Foro/index.php (debe llevar el index.php).
IDs de Foros Exceptuados -> Acá tenés que separar por comas todas las IDentidades de los Foros que desees exceptuar, es decir, que no quieras que el programa analice en esos Foros.
URLs Exceptuadas -> Aquí debés escribir todas las direcciones URLs que no quieres que el programa las analice, por ejemplo esta opción puede ser muy útil si no deseas que la herramienta analice todas las imágenes de tu foro (es decir, alojadas en tu hosting), ya que lo más probable es que si funcionen todas o casi todas. Por ejemplo podrías usar una URL como esta:
http://www.argentinairc.net/imagenes/No olvides que deben ir separadas por comas, por ejemplo:
http://www.misartesanias.net/,http://www.argentinairc.net/Timeout -> Es el tiempo de espera en segundos que tendrá que esperar el programa para lanzar una excepción por conexión fuera de tiempo.
Reintentos -> Esto está referido al timeout, supongamos que en timeout se configura a 15 segundos de espera, entónces podríamos configurar 3 reintentos, si los 3 dan timeout, entónces el programa pasa a chequear otra imagen.
Abrir archivo Log al terminar el chequeo -> Simplemente cuando el programa termine de chequear, se abrirá el archivo Log con todos los datos (esto evita tener que hacerlo manualmente), aquí debe setearse en
si o
no.
Bueno, he terminado de explicar sobre el programa, ahora viene la última parte que es bien sencilla.
Esta herramienta solo necesita la tabla de mensajes de tu Foro, lo demás no, por lo tanto voy a dejar los pasos para descargar desde phpMyAdmin solamente la tabla de mensajes, esto hay que hacerlo por 2 motivos:
1° Porque el programa no necesita más datos que los mensajes.
2° Porque irá más rápido sin que tenga todo lo demás y descargarás la tabla SQL más rapidamente.
Paso 1, entrar en tu panel de control y seleccionar
pypMyAdmin:
Paso 2 y 3, seleccionar la tabla
messages y hacer clic en el botón
Export o
Exportar:
Paso 4 y 5, seleccionar
Save as file o
Guardar en un archivo o algún texto similar y hacer clic en
Go o
Continuar:
y descargarán solamente la tabla de mensajes de su Foro...
La estructura que habrá dentro de la tabla será esta:
Espero que les sea de mucha ayuda, nosotros usamos esta herramienta y es muy necesaria, útil e importante.
Saludos y espero comentarios!!!