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 |
---|
... | |
---|