|
楼主 |
发表于 2014-12-1 15:59
|
显示全部楼层
本帖最后由 wcymiss 于 2014-12-1 16:07 编辑
renahu 发表于 2014-12-1 15:02
连POST都不是唬人的。.Open "GET", "http://www.rtshutu.com/basedata/format/release/aspx/1aecf7e5000b ... - Sub 抓图书类别和总数()
- Dim i As Integer
- Dim strText As String
- Dim arr, brr()
- Dim objWB As Object
- Dim objHTTP As Object
- Const strURL As String = "http://www.rtshutu.com/basedata/format/release/aspx/1aecf7e5000b940bce.aspx?pinst=1ad691ca0000cc0bce&navruid="
- Const ParentNavruid As String = "1ad180a50009a40bce"
-
- Set objWB = Sheets("分类数据")
- Set objHTTP = CreateObject("MSXML2.XMLHTTP")
-
- With objHTTP
- .Open "GET", strURL & ParentNavruid, False
- .Send
- arr = Split(.ResponseText, "div class=""navseccl"" id=""")
-
- ReDim brr(0 To UBound(arr), 0 To 2)
- brr(0, 0) = ParentNavruid
- brr(0, 1) = "全部"
- brr(0, 2) = Split(Split(arr(UBound(arr)), "readonly=""true"">")(1), "<")(0)
-
- For i = 1 To UBound(arr)
- brr(i, 0) = Split(arr(i), """>")(0)
- brr(i, 1) = Split(Split(arr(i), """ title=""")(1), """")(0)
- .Open "GET", strURL & brr(i, 0), False
- .Send
- brr(i, 2) = Split(Split(.ResponseText, "readonly=""true"">")(1), "<")(0)
- Next
- End With
-
- With objWB
- .Range("a6:c" & .Rows.Count).ClearContents
- .[a6:c6] = [{"类别ID","类别","总数"}]
- .[a7].Resize(UBound(brr) + 1, 3) = brr
- End With
-
- Set objWB = Nothing
- Set objHTTP = Nothing
- End Sub
复制代码 不过这个网站用POST的话速度快。因为它的responsetext的字节少。 |
|