• 0
  • 4 RepliesReplies
  • 3277 ReadTimes Read
  • 10 PointsPoints

Topic: Chequeador de imágenes inexistentes para Foros SMF

Usuario: Príncipe_Azul
Rango: Nuevo Usuario
Mensajes: 294
Points: 12
Perfil: View Profile
Pais:
ar
Chequeador de imágenes inexistentes para Foros SMF
November 20, 2015 - 01:15 01:15
Chequeador de imágenes inexistentes para Foros SMF v0.1


Hola amigos!!!

Aquí ando de nuevo :D
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 error

un 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.png

es 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.php
IDs 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!!! :) :)
You do not have permission to give points
point 10 Points

Users who gave points in this topic » 4kstore (4 Pts) » Papá distante (4 Pts) » Merlina (2 Pts) 

Usuario: 4kstore
Rango: Moderador Global
Mensajes: 4916
Points: 8111
Mi web: http://www.smfsimple.com
Perfil: View Profile
Pais:
ar
Re:Chequeador de imágenes inexistentes para Foros SMF
Reply #1 November 20, 2015 - 03:50 15:50
Genial, felicitaciones y gracias por el trabajo.
A modo de feature estaria bueno setear una imagen por defecto a  reemplazar porque si son 3 o 4 no hay drama pero si fuesen cientos de imagenes posiblemente podriamos poner una por defecto en su lugar y reemplazarlas con tiempo y ganas.
Abrazo!

Usuario: Príncipe_Azul
Rango: Nuevo Usuario
Mensajes: 294
Points: 12
Perfil: View Profile
Pais:
ar
Re:Chequeador de imágenes inexistentes para Foros SMF
Reply #2 November 21, 2015 - 08:15 08:15
Muchas gracias por tu valoración y agradecimiento!! :) :)

Bueno la verdad que no se me había ocurrido esa idea, pero la tendré en cuenta para un futuro si saco una nueva versión, este programa no modifica nada en la tabla de mensajes, solamente lee todo el archivo, lo carga en una variable y mediante un bucle va comprobando las imágenes, lo bueno que el programa no tán solo te da la URL del tema en donde la o las imágens no funcionan, sino que te da la URL del mensaje para que uno pueda saber exactamente en que mensaje no funciona la o las imágenes.

Además de que también te informa cuál o cuáles son las imágenes que no funcionan, brindandote la URL de las mismas.
No modifica nada en la tabla de mensajes, solamente crea un registro donde informa todas las imágenes que no funcionan por X razón, que inclusive el programa te muestra la razón de porque no funciona la imagen, que sería el error que recibe la herramienta al hacer la petición.

Muy buena tu idea, gracias!  ;D :)


:) Muchas gracias por tus consejos amigo, los tendré en cuenta y te mando un abrazo!! :)

Usuario: Papá distante
Rango: Moderador Global
Mensajes: 3504
Points: 168
Perfil: View Profile
Pais:
de
Re:Chequeador de imágenes inexistentes para Foros SMF
Reply #3 November 22, 2015 - 07:15 07:15
Muy bueno!

Usuario: Príncipe_Azul
Rango: Nuevo Usuario
Mensajes: 294
Points: 12
Perfil: View Profile
Pais:
ar
Re:Chequeador de imágenes inexistentes para Foros SMF
Reply #4 November 22, 2015 - 10:02 10:02
Muchas gracias amigo!! :) :)


Saludos!!!

 

TAGS



top

Smfsimple.com es un sitio destinado a brindar un servicio de soporte y herramientas para foros realizados con el sistema de foros gratuito simplemachines.org. Contamos con un selecto equipo de desarrolladores y conocedores del sistema, sus foros estaran en buenas manos.
This site is not affiliated with or endorsed by Simple Machines