作者:绿色风
分类:
时间:2022-08-17
浏览:141
楼主 xmyjk |
Q:主页面的地址是:http://116.252.221.174/guawang_sys/index_gw.asp?guawangid=FCK13511920120118t 需要获取其37页的网页数据。
A:通过其中的网页源代码:“<iframe name="import_frame" width=100% height=94% src="guawang_tables.asp?guawangid=FCK13511920120118t" frameborder=auto></iframe>” 可知,其主要数据存在于http://116.252.221.174/guawang_sys/guawang_tables.asp?guawangid=FCK13511920120118t中,但是,并从源代码和抓包工具可知,在URL后面加上page=1(至37)的参数,可以得到以后每页的数据。 但是,例如直接使用http://116.252.221.174/guawang_sys/guawang_tables.asp?guawangid=FCK13511920120118t&page=1,网页会提示如图
因此,简单的一个步骤,委屈求全,先访问主页面后,然后再访问框架页面,直接简单的绕过网页的框架防护机制。 代码如下:- Option Explicit
- Sub a()
- Dim ie1 As Object, dmt As Object, r As Object, i As Long, x As Long, j As Long, p As Long
- ' Load UserForm1
- ' UserForm1.Show 0
- [a1].CurrentRegion.Offset(1).Clear
- Cells.NumberFormat = "@"
- Set ie1 = UserForm1.WebBrowser1
- With ie1
- .Navigate "http://116.252.221.174/guawang_sys/index_gw.asp?guawangid=FCK13511920120118t" '访问主页面
- Do Until .ReadyState = 4 '等待页面加载完毕
- DoEvents
- Loop
- For x = 1 To 37 '分别访问数据页面37页
- .Navigate "http://116.252.221.174/guawang_sys/guawang_tables.asp?page=" & x & "&guawangid=FCK13511920120118t" '对子页面进行分别的导航
- Do Until .ReadyState = 4 '等待页面加载完毕
- DoEvents
- Loop
- Set dmt = .Document '获取文档体
- For i = 5 To dmt.All.tags("table").Length - 2 '获取数据所在的表格
- Set r = dmt.All.tags("table")(i).Rows '获取数据表格的行
- p = [a65536].End(3).Row + 1 '在现有数据的下一行续写
- For j = 0 To r(0).Cells.Length - 1 '历遍表格每一列数据
- Cells(p, j + 1) = r(0).Cells(j).innerText '取数
- Next
- Set r = Nothing
- Next
- Set dmt = Nothing
- Next
- End With
- Set ie1 = Nothing
- [a1].CurrentRegion.Columns.AutoFit
- End Sub
123.zip |
2楼 亡者天下 |
弦月的VBA也不错啊,又一高手,学习 |
3楼 fly1425 |
不是很明白```学习中``` |
4楼 5517772 |
这个代码用的是 WebBrowser 控件吧,那里是xmlhttp对象 |
5楼 水星钓鱼 |
这个代码没有用哦 |
6楼 老糊涂 |
学习 |
7楼 hhaa999 |
学习 |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一