Robain
Legacy Member
Hallo,
Ik heb hier een scriptje gevonden dat het volgende doet
Het script leest het bestand C:\TVGids\Kanalen.txt uit voor de kanalen die het script uit moet lezen. Vervolgens haalt ie de benodigde informatie van de pagina "http://www.tvgids.nl/nustraks/index.php?uur=-1&minuut=-1&datum=&volledig=1" en slaat het vervolgens op in het
bestand C:\TVGids\TVGids.txt, met een witregel tussen elke zender.
Het rare is echter dat, als ik dit script laat uitvoeren (lees: dubbelklik op TVGids.vbs) er niets gebeurd. Het bestand TVGids.txt wordt zelfs niet eens aangemaakt...
Iemand die weet hoe dit komt?? Script staat hier onder...
Greetz
Ik heb hier een scriptje gevonden dat het volgende doet
Het script leest het bestand C:\TVGids\Kanalen.txt uit voor de kanalen die het script uit moet lezen. Vervolgens haalt ie de benodigde informatie van de pagina "http://www.tvgids.nl/nustraks/index.php?uur=-1&minuut=-1&datum=&volledig=1" en slaat het vervolgens op in het
bestand C:\TVGids\TVGids.txt, met een witregel tussen elke zender.
Het rare is echter dat, als ik dit script laat uitvoeren (lees: dubbelklik op TVGids.vbs) er niets gebeurd. Het bestand TVGids.txt wordt zelfs niet eens aangemaakt...
Iemand die weet hoe dit komt?? Script staat hier onder...
Code:
' -- TVGids.vbs
' -- Versie 1.3
'
' -- By Triplesix
Set Http = CreateObject("WinHttp.WinHttpRequest.5.1")
'Set Http = CreateObject('Microsoft.XMLHttp")
Set FileSystem = CreateObject("Scripting.FileSystemObject")
TVGuideFile = "C:\TVGids\TVGids.txt"
ChannelFile = "C:\TVGids\Kanalen.txt"
Function RemoveTags(S)
Dim strNew
Dim strChar
Dim strLen, CharPos
' Remove HTML tags
Do Until InStr(S, "<") = 0
StrStart = InStr(S, "<")
StrEnd = InStr(S, ">") + 1
Tag = Mid(S, StrStart, StrEnd - StrStart)
S = Replace(S, Tag, "")
Loop
' Remove all special chars
strLen = Len(S)
strNew = ""
For CharPos = 1 To strLen
strChar = Mid(S, CharPos, 1)
If Asc(strChar) > 31 Then
strNew = strNew & strChar
End If
Next
RemoveTags = Trim(strNew)
End Function
Function TVGids()
Dim TimeStart, TimeEnd, TimeString
Dim ProgramStart, ProgramEnd, ProgramString
Dim DetailsStart, DetailsEnd
' Download HTML page
Http.Open "GET","http://www.tvgids.nl/nustraks/index.php?uur=-1&minuut=-1&datum=&volledig=1", False
Http.Send
Http.WaitForResponse(60)
HtmlResult = Http.ResponseText
' Open output file for writing
Set WriteTVGuide = FileSystem.CreateTextFile(TVGuideFile, True)
' Check HTML title
If InStr(HtmlResult, "<title>TVGids.nl</title>") > 0 Then
' Read Channel list for info retrieving
Set ReadChannels = FileSystem.OpenTextFile(ChannelFile, 1, False)
ChannelList = Split(ReadChannels.ReadAll, vbCrLf)
ReadChannels.Close
' Info extraction for each specified channel
For Each Channel in ChannelList
If Channel <> "" Then
' Search for channel in HTML
SearchPos = InStr(HtmlResult, Channel & "</span>")
If SearchPos = 0 Then
WriteTVGuide.WriteLine("Unable to obtain data...")
WriteTVGuide.WriteLine("")
Else
' Get start and end position for each data field
TimeStart = InStr(SearchPos, HtmlResult, "<th width")
TimeEnd = InStr(SearchPos, HtmlResult, "</th>")
TimeString = RemoveTags( Mid(HtmlResult, TimeStart, TimeEnd - TimeStart) )
If TimeString <> "" Then
ProgramStart = InStr(SearchPos, HtmlResult, "<a href=")
ProgramEnd = InStr(ProgramStart, HtmlResult, "</a>" )
ProgramString = RemoveTags( Mid(HtmlResult, ProgramStart, ProgramEnd - ProgramStart) )
DetailsStart = InStr(SearchPos, HtmlResult, "/programmadetail")
DetailsEnd = InStr(DetailsStart, HtmlResult, """")
WriteTVGuide.WriteLine("[ " & TimeString & " ] " & ProgramString)
Else
WriteTVGuide.WriteLine("Geen uitzending")
End If
' Search for next program
SearchPos = InStr(TimeEnd, HtmlResult, "straks")
' Get start and end position for each data field
TimeStart = InStr(SearchPos, HtmlResult, ">") + 1
TimeEnd = InStr(SearchPos, HtmlResult, "</th>")
TimeString = RemoveTags( Mid(HtmlResult, TimeStart, TimeEnd - TimeStart) )
If TimeString <> "" Then
ProgramStart = InStr(SearchPos, HtmlResult, "<a href=")
ProgramEnd = InStr(ProgramStart, HtmlResult, "</a>" )
ProgramString = RemoveTags( Mid(HtmlResult, ProgramStart, ProgramEnd - ProgramStart) )
DetailsStart = InStr(SearchPos, HtmlResult, "/programmadetail")
DetailsEnd = InStr(DetailsStart, HtmlResult, """")
WriteTVGuide.WriteLine("[ " & TimeString & " ] " & ProgramString)
Else
WriteTVGuide.WriteLine("Geen uitzending")
End If
End If
WriteTVGuide.WriteLine("")
End If
Next
Else
WriteTVGuide.WriteLine("Unable to obtain data...")
End If
WriteTVGuide.Close
End Function
Greetz
