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