|
onlycxb 发表于 2014-10-24 13:39 
多谢onlycxb大侠,经你的指点,增加了如下代码,终于通过:
.Send "{type:'各省福彩'}
另,提取七星彩数据,在你代码的基础上,用另一种方法提取如下:
Sub 江苏七星彩2()
Dim html
Dim objhq As New MSXML2.xmlhttp
Dim STxt As String, Url As String, i As Integer, j As Integer
Dim Pages As Integer, Pstr As String, arr, brr, rng As Range
Cells.Clear
With objhq
.Open "POST", "http://www.pinble.com/Template/WebService1.asmx/Present3DList", False
.SetRequestHeader "Content-Type", "application/json; charset=UTF-8"
.SetRequestHeader "Referer", "http://www.pinble.com/Lottery.htm"
.Send "{pageindex:'1',lottory:'TC7XCData_jiangS',pl3:'',name:'江苏七星彩',isgp: '0'}"
STxt = .ResponseText
End With
STxt = UTF8toChineseCharacters(STxt) 'J3编码
Pages = Split(Split(Split(STxt, "分页")(1), "页")(0), "/")(1)
'循环各页取数,下面以取2页为例 ,实际总页数Pages
Set html = CreateObject("htmlfile")
For p = 1 To 2
With objhq
.Open "POST", "http://www.pinble.com/Template/WebService1.asmx/Present3DList", False
.SetRequestHeader "Content-Type", "application/json; charset=UTF-8"
.SetRequestHeader "Referer", "http://www.pinble.com/Lottery.htm"
.Send "{pageindex:'" & p & "',lottory:'TC7XCData_jiangS',pl3:'',name:'江苏七星彩',isgp: '0'}"
html.body.innerhtml = UTF8toChineseCharacters(.ResponseText)
Set tb = html.all.tags("table")(2).Rows
For i = 0 To tb.Length - 1
For j = 0 To tb(i).Cells.Length - 1
Cells((p - 1) * 41 + i + 1, j + 1) = tb(i).Cells(j).innertext
Next j
Next i
End With
Next p
Columns("A:A").NumberFormatLocal = "yyyy-m-d"
Columns("B:C").NumberFormatLocal = "@"
End Sub
Function UTF8toChineseCharacters(szInput)
With CreateObject("MSScriptControl.ScriptControl")
.Language = "JavaScript"
.AddCode "function decode(str){return unescape(str.replace(/\u/g,'%u'));}"
UTF8toChineseCharacters = .Eval("decode('" & szInput & "')")
End With
End Function
|
评分
-
1
查看全部评分
-
|