Foxtable(狐表)用户栏目专家坐堂 → 这种网页数据如何抓取数据


  共有16804人关注过本帖树形打印复制链接

主题:这种网页数据如何抓取数据

帅哥哟,离线,有人找我吗?
ZJZK2018
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
这种网页数据如何抓取数据  发帖心情 Post By: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

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:读取pdf.zip



图片点击可在新窗口打开查看此主题相关图片如下:8888.png
图片点击可在新窗口打开查看



图片点击可在新窗口打开查看此主题相关图片如下:33333.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2018/7/20 20:50:53编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
ZJZK2018
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By: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


 回到顶部
帅哥哟,离线,有人找我吗?
ZJZK2018
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2018/7/20 22:39:00 [显示全部帖子]

还是不对,你帮我调试一下。


图片点击可在新窗口打开查看此主题相关图片如下:99999924119.png
图片点击可在新窗口打开查看

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:读取pdf.table



[此贴子已经被作者于2018/7/20 22:40:10编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
ZJZK2018
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2018/7/20 22:52:00 [显示全部帖子]

还是错的,能否帮我调试一下,我已上传了实例,谢谢


.NET Framework 版本:2.0.50727.8762
Foxtable 版本:2018.7.23.1
错误所在事件:窗口,网页数据抓取,Button1,Click
详细错误信息:
未将对象引用设置到对象的实例。

 回到顶部
帅哥哟,离线,有人找我吗?
ZJZK2018
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2018/7/22 17:11:00 [显示全部帖子]

有点甜老师:

搞了二天还是搞不出来,对网页这方面的知识根本没有,能否帮我写一下,谢谢


 回到顶部
帅哥哟,离线,有人找我吗?
ZJZK2018
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2018/10/15 15:20: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 AndAlso web.Document.GetElementById("Table1") IsNot Nothing
    Application.DoEvents
Loop

Dim elems As object = web.Document.GetElementsByTagName("div")
Dim Cols() As String = {"序号","投标企业","总监姓名","总报价","质量标准","中标工期","开标情况备注"}
'Dim elems As object = web.Document.GetElementsByTagName("table1")(1).GetElementsByTagName("tr")
elems = web.Document.GetElementById("Table1").GetElementsByTagName("tr")  '方法可返回对拥有指定 ID 的第一个对象的引用
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")   '可以根据你指定的参数,找出html源码中或xml内所有标签名称等于该参数的元素
    For Each tdelem As object In tdelems
        i = i + 1
        Tables("开标标录").Current(Cols(i)) = tdelem.Innertext
    Next
Next
Tables("开标标录").save

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:读取pdf.zip




 回到顶部
帅哥哟,离线,有人找我吗?
ZJZK2018
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2018/10/15 16:10:00 [显示全部帖子]

谢谢有点甜老师,已解决


 回到顶部
帅哥哟,离线,有人找我吗?
ZJZK2018
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2018/10/16 21:41:00 [显示全部帖子]

如何把网页中表“Table1”的表题转换成临时表的列名称??

http://www.hzctc.cn/OpenBidRecord/Index?id=36177CC9-5F91-473F-84E6-A2EFA35D6DD9&tenderID=969B1A8D-1A57-4A21-864F-A5E98F8288FB&ModuleID=486


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20181016214057.png
图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
ZJZK2018
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2018/10/16 22:09:00 [显示全部帖子]

.NET Framework 版本:2.0.50727.8762
Foxtable 版本:2018.9.9.1
错误所在事件:窗口,网页数据抓取,Button3,Click
详细错误信息:
“0”的值对于“index”无效。“index”应介于 0 和 -1 之间。
参数名: index

 回到顶部
帅哥哟,离线,有人找我吗?
ZJZK2018
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2018/10/16 23:41:00 [显示全部帖子]

下面代码出错

Dim web As New System.Windows.Forms.WebBrowser()
web.scripterrorssuppressed = True
web.Navigate("http://www.hzctc.cn/OpenBidRecord/Index?id=111E6F37-5AB7-4F3F-B56D-E355701A68E9&tenderID=416E3F38-00E8-4CC4-8D72-8DE2EDA078AC&ModuleID=486")
Do Until web.ReadyState = 4 AndAlso web.Document.GetElementById("Table1") IsNot Nothing
    Application.DoEvents
Loop

Dim elems As object = web.Document.GetElementsByTagName("div")
elems = web.Document.GetElementById("Table1").GetElementsByTagName("th")
Dim dtb As New DataTableBuilder("录入表")
For i As Integer = 0 To elems.count-1
    'msgbox(elems (i).InnerText)
    dtb.AddDef(elems (i).InnerText, Gettype(String), 250)
Next
dtb.Build()
MainTable = Tables("录入表")

elems = web.Document.GetElementById("Table1").GetElementsByTagName("tr")
Dim ndr As Row
For n As Integer = 1 To elems.count - 2
    Dim tds = elems(n).getelementsbytagname("td")
    For tn As Integer = 0 To tds.count -1
        ndr = Tables("录入表").AddNew()
        For Each dc As Col In Tables("录入表").Cols
            ndr(dc.Name) = tds(tn).InnerText
        Next
    Next
Next


图片点击可在新窗口打开查看此主题相关图片如下:55555534643.png
图片点击可在新窗口打开查看



 回到顶部
总数 35 1 2 3 4 下一页