Option Explicit
Function Concat(A, B)
Dim C
ReDim C(UBound(A) + UBound(B) + 1)
Dim Dst
Dst = 0
Dim Src
For Src = 0 To UBound(A)
C(Dst) = A(Src)
Dst = Dst + 1
Next
For Src = 0 To UBound(B)
C(Dst) = B(Src)
Dst = Dst + 1
Next
Concat = C
End Function
Function GetContent(Url)
Dim Req
Set Req = CreateObject("MSXML2.ServerXMLHTTP.6.0")
Req.Open "GET", Url, False
Req.Send
GetContent = Req.ResponseText
End Function
Function GetDateInfo(Content)
Dim Reg
Set Reg = New RegExp
Reg.Pattern = "
(.*?)
"
Dim Mats
Set Mats = Reg.Execute(Content)
GetDateInfo = Split(Mats(0).SubMatches(0), " ")
End Function
Function Flatten(Url)
Dim Idx
Idx = InStrRev(Url, "/")
Dim Num
Num = Mid(Url, Idx + 1)
Dim Ran
Ran = Split(Num, "-")
Dim Fst
Fst = CInt(Ran(0))
Dim Lst
If UBound(Ran) = 0 Then
Lst = Fst
Else
Lst = CInt(Ran(1))
End If
Dim A
ReDim A(Lst - Fst)
Dim I
I = 0
Dim N
For N = Fst To Lst
A(I) = Mid(Url, 1, Idx) & N
I = I + 1
Next
Flatten = A
End Function
Function Sort(Src, Index)
Dim Dst
Dst = Src
Dim I
For I = UBound(Dst) - 1 To 0 Step -1
Dim J
For J = 0 To I
If Dst(J)(Index) > Dst(J + 1)(Index) Then
Dim T
T = Dst(J)
Dst(J) = Dst(J + 1)
Dst(J + 1) = T
End If
Next
Next
Sort = Dst
End Function
Function ReadUrls()
ReadUrls = Array( _
"http://hanabi.2ch.net/test/read.cgi/soccer/1490483242/101-103", _
"http://echo.2ch.net/test/read.cgi/tech/1490506257/200")
End Function
Sub Main()
Dim Data
Data = Array()
Dim Url
For Each Url In ReadUrls()
Dim FlatUrl
For Each FlatUrl In Flatten(Url)
Dim Content
Content = GetContent(FlatUrl)
Dim DateInfo
DateInfo = GetDateInfo(Content)
Dim Record
Record = Concat(Array(FlatUrl), DateInfo)
Data = Concat(Data, Array(Record))
Next
Next
Dim Sorted
Sorted = Sort(Data, 2)
Sorted = Sort(Sorted, 1)
For Each Record In Sorted
WScript.Echo Join(Record, ", ")
Next
End Sub
Main