|
发表于 2014-12-3 21:45
|
显示全部楼层
本楼为最佳答案
- Sub Quick_refresh()
- Dim cookies, arr As Variant, XML As Object, tmp%(9)
- Set XML = CreateObject("WinHttp.WinHttpRequest.5.1") '("Msxml2.XMLHTTP.5.0")
- With XML
- '获取COOKIE - START
- .Open "GET", "http://data.shishicai.cn/cqssc/haoma/", False
- .Send
- cookies = Split(.getallResponseHeaders(), "Set-Cookie: ")
- For i = LBound(cookies) + 1 To UBound(cookies)
- ckvalue = IIf(ckvalue = "", Split(cookies(i), ";")(0), ckvalue + "; " + Split(cookies(i), ";")(0))
- Next
- '获取COOKIE - END
- .Open "POST", "http://data.shishicai.cn/handler/kuaikai/data.ashx", False
- .setRequestHeader "Referer", "http://data.shishicai.cn/cqssc/haoma/"
- .setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
- .setRequestHeader "Cookie", ckvalue
- .Send "lottery=4&date=0001-01-01"
- lotsdata = Replace(Split(Split(.responsetext, "[")(1), "]")(0), """", "")
- arr = Split(lotsdata, ",")
- Columns("A:C").ClearContents
- Range(Cells(1, 1), Cells(1, 2)).Value = Array("期号", "开奖号码")
- Range("g1") = "开奖时间"
- ReDim brr(UBound(arr) - 10, 6)
- For i = UBound(arr) - 9 To UBound(arr)
- tmp(Split(arr(i), "_")(0)) = i - 120
- Next
- For i = LBound(arr) To UBound(arr) - 10
- brr(UBound(arr) - 10 - i, 0) = Split(arr(i), ";")(0)
- brr(UBound(arr) - 10 - i, 6) = Split(arr(i), ";")(2)
- For j = 1 To 5
- brr(UBound(arr) - 10 - i, j) = tmp(Mid(Split(arr(i), ";")(1), j, 1))
- Next
- 'Range(Cells(i + 2, 1), Cells(i + 2, 3)).Value = Split(arr(i), ";")
- Next
- End With
- Range("a2").Resize(UBound(brr) + 1, 7) = brr
- Set XML = Nothing
- MsgBox "OK"
- End Sub
复制代码 |
|