|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
'更正,再发一次
Sub Macro2()
Cells.Clear
Dim xml As Object, ViewState As String, S As String, url As String
Dim Pc As Object, i, j, m
Dim html As Object, db As Object, p, TotalPages, TotalPhotos
Dim EventValidation As String
url = "http://www.cfh.ac.cn/Album/ShowAlbum.aspx?albumid=4b7af393-99db-4461-a7c5-daa98b9384e5&Username=arisaema"
Set xml = CreateObject("msxml2.xmlhttp")
m = 0
Do
p = p + 1
With xml
.Open "GET", url, False
.Send
'获取ViewState\EventValidation
ViewState = encodeURI(Split(Split(.responsetext, "VIEWSTATE"" value=""")(1), """ />")(0))
EventValidation = encodeURI(Split(Split(.responsetext, "__EVENTVALIDATION"" value=""")(1), """ />")(0))
'获取 TotalPhotos、TotalPages
TotalPages = CInt(Split(Split(Split(.responsetext, "当前是第")(1), "/")(1), "页")(0))
TotalPhotos = Split(Split(.responsetext, "总共")(1), "张")(0)
S = "__VIEWSTATE=" & ViewState
S = S + "&__EVENTVALIDATION=" & EventValidation
S = S + "&ctl00%24ContentPlaceHolder_body%24CurrentAlbumId=4b7af393-99db-4461-a7c5-daa98b9384e5"
S = S + "&ctl00%24ContentPlaceHolder_body%24TotalPhotos=" & TotalPhotos
S = S + "&ctl00%24ContentPlaceHolder_body%24TotalPages=" & TotalPages
S = S + "&ctl00%24ContentPlaceHolder_body%24ImgBtnGoPage.x=24"
S = S + "&ctl00%24ContentPlaceHolder_body%24ImgBtnGoPage.y=9"
S = S + "&ctl00%24ContentPlaceHolder_body%24TxtPageSn=" & p
.Open "POST", url, False
.SetRequestHeader "Content-Type", "application/x-www-form-urlencoded"
.Send (S)
S = .responsetext
End With
Set html = CreateObject("htmlfile")
html.body.innerHTML = S
Set db = html.all.tags("table")(1)
For i = 0 To db.Rows.Length - 1
m = m + 1
For j = 0 To db.Rows(i).Cells.Length - 2
Cells(m, j + 1) = Replace(db.Rows(i).Cells(j).innertext, Chr(10), "")
Next j
Next i
Loop Until p = TotalPages
End Sub
Function encodeURI(ByVal strText As String) As String
With CreateObject("msscriptcontrol.scriptcontrol")
.Language = "JavaScript"
encodeURI = .Eval("encodeURIComponent('" & strText & "');")
End With
End Function |
评分
-
2
查看全部评分
-
|