Foxtable(狐表)用户栏目专家坐堂 → [求助]关于网页表格数据保存到狐表


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

主题:[求助]关于网页表格数据保存到狐表

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/5 12:53:00 [显示全部帖子]

参考代码

 

Dim web As New System.Windows.Forms.WebBrowser()
web.Navigate("http://cx.jljsw.com:8088/JLJGPublish/corpinfo/CorpInfo.aspx?rnd=" & Rand.NextDouble)
Do Until web.ReadyState = 4 AndAlso web.Document.GetElementById("tbody_CorpInfo").Innertext <> Nothing
    Application.DoEvents
Loop

'取数据
Dim Cols() As String = { "序号","企业名称","组织机构代码","所在市州","法定代表人","资质类型" }
Dim elems As object = web.Document.GetElementById("tbody_CorpInfo").GetElementsByTagName("tr")
Dim m As Integer = 0
For Each elem As object In elems
   
    Tables("企业列表").AddNew
    Dim tdelems As object =  elem.GetElementsByTagName("td")
    Dim i As Integer = 0
    For Each tdelem As object In tdelems
        Tables("企业列表").Current(Cols(i)) = tdelem.Innertext
        i = i + 1
    Next
    Tables("企业列表").Current("录入日期") = Date.Today
   
Next
Tables("企业列表").save


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/5 15:06:00 [显示全部帖子]

Dim web As New System.Windows.Forms.WebBrowser()
web.Navigate("http://cx.jljsw.com:8088/JLJGPublish/corpinfo/CorpInfo.aspx?rnd=" & Rand.NextDouble)
Do Until web.ReadyState = 4 AndAlso web.Document.GetElementById("tbody_CorpInfo").Innertext <> Nothing
    Application.DoEvents
Loop

'取数据
Dim Cols() As String = { "序号","企业名称","组织机构代码","所在市州","法定代表人","资质类型" }
Dim tcount = web.Document.GetElementById("lblPageCount1")

Dim elems As object = web.Document.GetElementById("tbody_CorpInfo").GetElementsByTagName("tr")
Dim felem = elems(0)
For Each elem As object In elems
    Tables("企业列表").AddNew
    Dim tdelems As object =  elem.GetElementsByTagName("td")
    Dim i As Integer = 0
    For Each tdelem As object In tdelems
        Tables("企业列表").Current(Cols(i)) = tdelem.Innertext
        i = i + 1
    Next
    Tables("企业列表").Current("录入日期") = Date.Today
   
Next
Dim count As Integer = 1
Do While count <= tcount.InnerText
    For Each ls As object In web.Document.GetElementsByTagName("li")
        If ls.InnerText.Contains("跳转至第") Then
            'Dim input = ls.GetElementsByTagName("input")(0)
            'Input.SetAttribute("value", "2")
        ElseIf ls.InnerText = "下一页" Then
            Dim input = ls.GetElementsByTagName("a")(0)
           
            Input.InvokeMember("click")
            Exit For
        End If
    Next
   
    Do Until web.Document.GetElementById("tbody_CorpInfo").GetElementsByTagName("tr")(0).InnerText <> felem.InnerText
        Application.DoEvents
    Loop
    Dim elemss = web.Document.GetElementById("tbody_CorpInfo").GetElementsByTagName("tr")
    felem = elemss(0)
    For Each elem As object In elemss
       
        Tables("企业列表").AddNew
        Dim tdelems As object =  elem.GetElementsByTagName("td")
        Dim i As Integer = 0
        For Each tdelem As object In tdelems
            Tables("企业列表").Current(Cols(i)) = tdelem.Innertext
            i = i + 1
        Next
        Tables("企业列表").Current("录入日期") = Date.Today
       
    Next
    'Exit Do
    count += 1
Loop


Tables("企业列表").save

 


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/5 15:35:00 [显示全部帖子]

不能,没办法。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/5 15:38:00 [显示全部帖子]

 你要执行到最后,才会保存。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/5 21:34:00 [显示全部帖子]

试试这样

 

Dim web As New System.Windows.Forms.WebBrowser()
web.Navigate("http://cx.jljsw.com:8088/JLJGPublish/corpinfo/CorpInfo.aspx?rnd=" & Rand.NextDouble)
Do Until web.ReadyState = 4 AndAlso web.Document.GetElementById("tbody_CorpInfo").Innertext <> Nothing
    Application.DoEvents
Loop

'取数据
Dim Cols() As String = { "序号","企业名称","组织机构代码","所在市州","法定代表人","资质类型" }
Dim tcount = web.Document.GetElementById("lblPageCount1")

Dim elems As object = web.Document.GetElementById("tbody_CorpInfo").GetElementsByTagName("tr")
Dim felem = elems(0)
For Each elem As object In elems
    Tables("企业列表").AddNew
    Dim tdelems As object =  elem.GetElementsByTagName("td")
    Dim i As Integer = 0
    For Each tdelem As object In tdelems
        Tables("企业列表").Current(Cols(i)) = tdelem.Innertext
        i = i + 1
    Next
    Tables("企业列表").Current("录入日期") = Date.Today
   
Next
Dim count As Integer = 1
Do While count <= tcount.InnerText
    For Each ls As object In web.Document.GetElementsByTagName("li")
        If ls.InnerText.Contains("跳转至第") Then
            'Dim input = ls.GetElementsByTagName("input")(0)
            'Input.SetAttribute("value", "2")
        ElseIf ls.InnerText = "下一页" Then
            Dim input = ls.GetElementsByTagName("a")(0)
           
            Input.InvokeMember("click")
            Exit For
        End If
    Next
   
    Dim ptime As Date = Date.Now
    Do Until web.Document.GetElementById("tbody_CorpInfo").GetElementsByTagName("tr")(0).InnerText <> felem.InnerText AndAlso (Date.now-ptime).TotalSeconds < 10
        Application.DoEvents
    Loop
    If web.Document.GetElementById("tbody_CorpInfo").GetElementsByTagName("tr")(0).InnerText <> felem.InnerText Then

        Dim elemss = web.Document.GetElementById("tbody_CorpInfo").GetElementsByTagName("tr")
        felem = elemss(0)
        For Each elem As object In elemss
           
            Tables("企业列表").AddNew
            Dim tdelems As object =  elem.GetElementsByTagName("td")
            Dim i As Integer = 0
            For Each tdelem As object In tdelems
                Tables("企业列表").Current(Cols(i)) = tdelem.Innertext
                i = i + 1
            Next
            Tables("企业列表").Current("录入日期") = Date.Today
           
        Next
    End If
    count += 1
Loop


Tables("企业列表").save


 


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/6 9:09:00 [显示全部帖子]

 那就是你网站有问题,你这个网站获取的数据本身就有问题。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/8 10:51:00 [显示全部帖子]

 没办法,这个是你网站自身数据的问题。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/10 10:27:00 [显示全部帖子]

 你网站读取的数据有问题,要不你就自己下一页下一页的点击测试。

 

 代码没法改。


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/11 13:45:00 [显示全部帖子]

做一个窗口,放一个webbrowser控件,然后用10楼的代码

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/11 13:49:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:网页表格数据保存到狐表表中例子.table


 回到顶部
总数 14 1 2 下一页