Tablón de Anuncios online Comprobador

y programas personales para otros como tu, puede que te corrijan ;)
Responder
Avatar de Usuario
BasicOs
Site Admin
Mensajes: 2091
Registrado: 21 Nov 2006, 19:24
Ubicación: El Internet - (Canarias, España)
Contactar:

Tablón de Anuncios online Comprobador

Mensaje por BasicOs »

Hola
Basicamente lo que hace este mini programa tan facil, es comprobar si algo cambia en un enlace Web e informarlo enviando la página Web en formato texto a tu gmail (donde puedes recibirlo y leerlo en tu PC, bb,Ipod o smartphone). :smt026 :smt031 :smt031

como todo el soft que veas por aquí puedes modificarlo, republicarlo, o sea no hay problemas porque hagas tu propio programa desde este.

Aquí hay una versión draft o beta de un programa que hice así rápidamente para un servicio que necesitaba que me hiciera, que te comprueba los TABLONES DE ANUNCIOS de la Administración Pública online o de otras publicaciones en Web que cambien.
Lo que hace es muy simple:
0.-Guarda un copia de la página en una variable.
1.-Comprueba si hay cambios, si la página en la variable es diferente a la actual. Paginat0 = Paginat1
2.- En caso de que haya una diferencia te crea una copia de la página limpia, en formato solo texto, y te la envia a tu cuenta de gmail.
3.- Sigue comprobando

Si lo deseas, facilmente, puedes hacer un interfaz gráfico, optimizar el code, o incluir más páginas web (aquí te comprueba hasta 4 páginas). También puedes prepararlo para que te envie solamente la parte que ha cambiado de la página y no toda la página.

Para usarla hay que:
1.- Poner las direcciones web de tus webs a comprobar.
2.- Y el intervalo de horas en que trabaja tu administración(Por si paran la web). Y cada cuantos minutos que se quiere hacer la comprobación.
3.- Tu dirección web de gmail y contraseña a la que te ha de enviar la página nueva en formato texto. Por cierto gmail es gratis por si no tienes.

P.D: Esta función no solo vale para Un tablón online, sino también se puede usar para:
  • Ver si un servidor está caido,
  • para si han cambiado los resultados de la clasificación de futbol
  • bien si has ganado la lotería
  • bien si tu periódico favorito en la sección de deportes, sucesos,economía o en la principal ha cambiado algo
  • por si algo cambia en la Web como las noticias del tiempo
  • si tu perfil de tuenti o de Myspace ha cambiado o bien el de tu cantante favorito,
  • Para ver si tu periódico online emite algo..
  • Si quieres vigilar la página de Fernando Alonso por si hay novedades.. etc...


También puede valer para reenviar la página nueva en otro formato retocandola y personalizando el envio (ahora es solo texto pero se podrían añadir fotos), añadiendo o modificando el texto a reenviar. Aunque muchas páginas incluyen feeds o avisos automáticos, esta función te permite hacerlo a tu manera.
Como todo ya va por la web, pues controla todo sin tener ordenador con este programa

Código: Seleccionar todo

 ;Programa para Comproba Tablon de Anuncios - o cambios en la web
;Creditos BasicOs 27/03/2010
;Creditos a meatsack por versión previa de GmailSmpt()
Opt("TrayIconDebug", 1)
#include <File.au3>
#include <Excel.au3>
#include <Array.au3>
#include <String.au3>
#include <IE.au3>
#include <INet.au3>
#include <Misc.au3>
#include <Array.au3>

HotKeySet("^.", "Salir")
;HotKeySet("^.", "Salir") ; salir control punto
Local $s_FromName = "Mi Robot vigilando el tablón de anuncios" ; From Name
Local $s_FromAddress = '[email protected]' ; From @mail
Local $s_ToAddress = '[email protected]' ; To @mail
Local $s_Username = 'pepito' ; Gmail Username
Local $s_Password = 'miPerritoContrasena' ; Gmail Password

Local $vTime = 9  ; Hora a empezar
Local $fTime = 16 ; Hora a terminar


$WnumMaxPaginas = 4
Local $avWeb[4]
$avWeb[0] = "http://www.emesn.com/autoitforum/viewtopic.php?f=17&t=1943" ; web1
$avWeb[1] = "http://www.webdos.com" ; web de Fernando Alonso
$avWeb[2] = "http://www.webtres.com" ; Tablón específico
$avWeb[3] = "http://www.webcuatro.com" ;Tablón General

Local $avAntes[4]
$avAntes[0] = "-x-"
$avAntes[1] = "-x-"
$avAntes[2] = "-x-"
$avAntes[3] = "-x-"

Global $laWeb = ""
$CuantosMinutos = 45 ; cada 45 minutos revisa las WEBS

While 1
    $z = 0
    For $k = 0 To $WnumMaxPaginas - 1
        MsgBox(0, "", "HASTA AQU", 1)

        $avAntes[$k] = _INetGetSource($avWeb[$k])
    Next
While 1
        For $z = 0 To 3 ;3
            TrayTip("ES", StringRight(_INetGetSource($avWeb[$z]), 30), 5)  ; retroalimentación en el tray
            if (@HOUR > $vTime And @HOUR < $fTime) Then  ; si están en el horario de trabajo de la página
                If not ($avAntes[$z] = _INetGetSource($avWeb[$z])) Then ; si hay cambios en la página salimos
                    ExitLoop 2
                EndIf
            EndIf
        Next
        Sleep($CuantosMinutos * 60 * 1000)
    WEnd
; desde aqui se envia el mail se puede meter dentro del while en función sin salir del bucle..
    SplashTextOn($z, $avAntes[$z])
    Sleep(1000)
    SplashOff()
    $Cuerpo1 = InetConsiguePagina($avWeb[$z]) 
    gmailSMTP("Cambios en p. " & $z & " " & $avWeb[$z], "====" & $Cuerpo1 & "--------")
    Sleep(60000) ; Un minuto sin revisar, por si hay más cambios
WEnd

;fin de script
Func InetConsiguePagina($l_Web)
    $ie = _IECreate($l_Web, 0, 0)
    $output = _IEBodyReadText($ie)
    Sleep(500)
    _IEQuit($ie)
    Sleep(500)
    If ProcessExists("iexplore.exe") Then ProcessClose("iexplore.exe")
    Return $output
EndFunc   ;==>InetConsiguePagina

Func gmailSMTP($s_Subject, $vBody)
    ; SMTP part [ Without Web-based GUI ]

    Local $s_SmtpServer = 'smtp.gmail.com'
    Local $s_IPPort = 465
    ;Local $s_Subject = 'Calender'
    Local $s_Body = $vBody
    Local $objEmail = ObjCreate("CDO.Message")

    $objEmail.From = $s_FromAddress
    $objEmail.To = $s_ToAddress
    $objEmail.Subject = $s_Subject
    $objEmail.TextBody = $s_Body
    ;MsgBox(0,"",$s_Body)

    $objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
    $objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = $s_SmtpServer
    $objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = $s_IPPort
    $objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
    $objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = $s_Username
    $objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = $s_Password
    $objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
    $objEmail.Configuration.Fields.Update

    $objEmail.Send
    If @error Then
        MsgBox(32, "Error", "Error al enviar")
        Exit
    EndIf
    $objEmail = ""
    $output = ""
EndFunc   ;==>gmailSMTP

Func Salir()
    Exit 0
EndFunc   ;==>Salir
Este es el núcleo de la aplicación anterior para mostrar su resumen:
While 1
For $z = 0 To 3 ;3
TrayTip("ES", StringRight(_INetGetSource($avWeb[$z]), 30), 5) ; retroalimentación
if (@HOUR > $vTime And @HOUR < $fTime) Then ; si están en el horario de trabajo de la página
If not ($avAntes[$z] = _INetGetSource($avWeb[$z])) Then ; si hay cambios en la página
ExitLoop 2
EndIf
EndIf
Next
Sleep($CuantosMinutos * 60 * 1000)
WEnd
; aqui se envia el mail
Si hay dudas preguntar!!
Salu2:)
Avatar de Usuario
Esgrimidor
Hacker del Foro
Mensajes: 286
Registrado: 19 Oct 2008, 00:59
Ubicación: Santa Cruz de Tenerife
Contactar:

Re: Tablón de Anuncios online Comprobador

Mensaje por Esgrimidor »

Ya hiciste el soft generador de una entrada en una web ?
Responder