Eu tenho tentado fazer algo na mesma linha. O melhor que consegui criar é um script VBA que é executado no Excel. Pode abrir a página, logar (se necessário) e simular cliques de botão. O conteúdo da página pode ser verificado quanto a alterações e um email pode ser enviado a você se houver alterações. O único problema é que você tem que ter um computador no qual você pode deixar o Excel aberto
A macro consiste em 3 macros 1) executa macro em aberto 2) ajusta o intervalo de tempo 3) executa script
Sub Auto_Open()
MacroScheduler
End Sub
Sub MacroScheduler()
'This macro sets the script to Run every minute
runontime = Now + TimeValue("00:01:00") 'Change time intervals here
Application.OnTime runontime, "MacroScheduler"
OnlineChecker runontime
End Sub
Sub OnlineChecker(ByRef timetorun2)
Dim NewEntry As Boolean
NewEntry = False
Dim ThisDoc As Object
Set ThisDoc = Workbooks(ThisWorkbook.Name).Worksheets("Sheet1")
Dim ie As Object
Set ie = CreateObject("InternetExplorer.Application")
Dim IEobj As Variant
Dim doc As Variant
With ie
.navigate "[YOUR URL]" 'Insert your URL here
.Visible = False
End With
Do While ie.Busy: DoEvents: Loop
Do While ie.ReadyState 4: DoEvents: Loop
Set el = doc.getElementsByTagName("Input") 'this can be changed based on element type
For Each IEobj In el
Select Case IEobj.ID
Case Is = "[Name of Element]" ' Insert name of HTML Element here
IEobj.Click
End Select
Next
Do While ie.Busy: DoEvents: Loop
Do While ie.ReadyState 4: DoEvents: Loop
If Not ThisDoc.Range("A1") = "" Then
If ThisDoc.Range("A1") = doc.body.innerText Then
Exit Sub
Else
ThisDoc.Range("A1") = doc.body.innerText
NewEntry = True
End If
Else
ThisDoc.Range("A1") = doc.body.innerText
End If
If NewEntry = True Then
NewEntry = False
'This is meant to work with gmail accounts
Dim iMsg As Object
Dim iConf As Object
Dim strbody As String
Dim Flds As Variant
Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")
iConf.Load -1
Set Flds = iConf.Fields
With Flds
.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "[Insert your email address here]"
.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "[Insert your password]"
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465
.Update
End With
strbody = "Class Posted"
With iMsg
Set .Configuration = iConf
.To = "[Insert your email address]"
.CC = ""
.BCC = ""
.From = "[Insert your email address]"
.Subject = "Class Posted"
.TextBody = strbody
.send
End With
End If
Application.StatusBar = "Done - Next Run @ " & timetorun2
ie.Quit: Set ie = Nothing
End Sub