以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 这种网页数据如何抓取数据 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=122215) |
-- 作者:ZJZK2018 -- 发布时间:2018/7/20 20:49:00 -- 这种网页数据如何抓取数据 查了专家坐堂,搞了一天一点思路都没有,还是请教老师,谢谢 网址:http://www.hzctc.cn/OpenBidRecord/Index?id=36177CC9-5F91-473F-84E6-A2EFA35D6DD9&tenderID=969B1A8D-1A57-4A21-864F-A5E98F8288FB&ModuleID=486[此贴子已经被作者于2018/7/20 20:50:53编辑过]
|
-- 作者:有点蓝 -- 发布时间:2018/7/20 21:21:00 -- 参考:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=49278 浏览器打开网页,按f12打开开发工具,自己分析网页结构 |
-- 作者:ZJZK2018 -- 发布时间:2018/7/20 21:59:00 -- 下面代码出错,如何调整?谢谢 Dim web As New System.Windows.Forms.WebBrowser() web.Navigate("http://www.hzctc.cn/OpenBidRecord/Index?id=36177CC9-5F91-473F-84E6-A2EFA35D6DD9&tenderID=969B1A8D-1A57-4A21-864F-A5E98F8288FB&ModuleID=486") Do Until web.ReadyState = 4 Application.DoEvents Loop \'取数据 Dim Cols() As String = {"序号","投标企业","总监姓名","总报价","质量标准","中标工期","开标情况备注"} Dim elems As object = web.Document.GetElementsByTagName("table1")(1).GetElementsByTagName("tr") Dim m As Integer = 0 For Each elem As object In elems Dim i As Integer = -1 m = m + 1 If m > 10 Then \'因为网页的表格有标题,如果不判断,就会增加出一个空行 Tables("开标标录").AddNew End If Dim tdelems As object = elem.GetElementsByTagName("td") For Each tdelem As object In tdelems i = i + 1 Tables("开标标录").Current(Cols(i)) = tdelem.Innertext \'Tables("开标标录").Current("录入时间") = Date.Now Next Next Tables("开标标录").save .NET Framework 版本:2.0.50727.8762 Foxtable 版本:2018.7.23.1 错误所在事件:窗口,网页数据抓取,Button1,Click 详细错误信息: “1”的值对于“index”无效。“index”应介于 0 和 -1 之间。 参数名: index |
-- 作者:有点蓝 -- 发布时间:2018/7/20 22:29:00 -- Dim elems As object = web.Document.GetElementsById("Table1").GetElementsByTagName("tr") |
-- 作者:ZJZK2018 -- 发布时间:2018/7/20 22:39:00 -- 还是不对,你帮我调试一下。 [此贴子已经被作者于2018/7/20 22:40:10编辑过]
|
-- 作者:有点蓝 -- 发布时间:2018/7/20 22:44:00 -- Document.getelementbyid |
-- 作者:ZJZK2018 -- 发布时间:2018/7/20 22:52:00 -- 还是错的,能否帮我调试一下,我已上传了实例,谢谢 .NET Framework 版本:2.0.50727.8762 Foxtable 版本:2018.7.23.1 错误所在事件:窗口,网页数据抓取,Button1,Click 详细错误信息: 未将对象引用设置到对象的实例。 |
-- 作者:有点蓝 -- 发布时间:2018/7/21 8:53:00 -- 没有时间去帮你们分析网页,自食其力 dim obj = Document.getelementbyid("Table1") if obj isnot nothing then dim trs = obj.GetElementsByTagName("tr") if trs.length > 0 then 其它处理 end if end if
|
-- 作者:ZJZK2018 -- 发布时间:2018/7/22 17:11:00 -- 有点甜老师: 搞了二天还是搞不出来,对网页这方面的知识根本没有,能否帮我写一下,谢谢 |
-- 作者:有点甜 -- 发布时间:2018/7/22 19:02:00 -- 参考代码,自己看懂和调整细节
Dim web As New System.Windows.Forms.WebBrowser() Dim elems As object = web.Document.GetElementsByTagName("div") elems = web.Document.GetElementById("Table1").GetElementsByTagName("tr") |