getter delete lock Revision 363437313235 (Tue Apr 04 2017 at 12:39) - Diff Link to this snippet: https://friendpaste.com/20wv25hFJ2by4Y5vFvUZ1P Embed: manni perldoc borland colorful default murphy trac fruity autumn bw emacs pastie friendly Show line numbers Wrap lines 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134Option ExplicitFunction 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 = CEnd FunctionFunction GetContent(Url) Dim Req Set Req = CreateObject("MSXML2.ServerXMLHTTP.6.0") Req.Open "GET", Url, False Req.Send GetContent = Req.ResponseTextEnd FunctionFunction GetDateInfo(Content) Dim Reg Set Reg = New RegExp Reg.Pattern = "<div class=""date"">(.*?)</div>" Dim Mats Set Mats = Reg.Execute(Content) GetDateInfo = Split(Mats(0).SubMatches(0), " ")End FunctionFunction 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 = AEnd FunctionFunction 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 = DstEnd FunctionFunction 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 FunctionSub 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, ", ") NextEnd SubMain