Foxtable(狐表)用户栏目专家坐堂 → [求助]抓取网页数据


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

主题:[求助]抓取网页数据

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


加好友 发短信
等级:童狐 帖子:257 积分:4387 威望:0 精华:0 注册:2011/7/5 9:38:00
[求助]抓取网页数据  发帖心情 Post By:2016/2/16 16:24:00 [只看该作者]

有没有办法抓取东方财富网,“实时资金流向排行”的表格数据,我按咱们“专家坐堂”的方法克隆实在弄不出来了!

网址:http://data.eastmoney.com/zjlx/detail.html

 


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/2/16 16:36:00 [只看该作者]

参考代码

 

 

Dim web As new System.Windows.Forms.WebBrowser
web.Navigate("http://data.eastmoney.com/zjlx/detail.html")
Do Until web.ReadyState = 4 AndAlso web.Document.GetElementById("dt_1").innertext Like "*数据初始化*" = False
    Application.DoEvents
Loop

Dim trs = web.Document.GetElementById("dt_1").GetElementsByTagName("tr")
For i As Integer = 1 To trs.count - 1
    Dim tds = trs(i).GetElementsByTagName("td")
    For j As Integer = 0 To tds.count - 1
        output.show(tds(j).innerText)
    Next
Next


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


加好友 发短信
等级:童狐 帖子:257 积分:4387 威望:0 精华:0 注册:2011/7/5 9:38:00
  发帖心情 Post By:2016/2/16 16:47:00 [只看该作者]

谢谢,太棒了!

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


加好友 发短信
等级:童狐 帖子:257 积分:4387 威望:0 精华:0 注册:2011/7/5 9:38:00
  发帖心情 Post By:2016/2/16 17:27:00 [只看该作者]

能转换页码吗?

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/2/16 18:42:00 [只看该作者]

参考代码

 

Dim web As new System.Windows.Forms.WebBrowser
web.Navigate("http://data.eastmoney.com/zjlx/detail.html")
Do Until web.ReadyState = 4 AndAlso web.Document.GetElementById("dt_1").innertext Like "*数据初始化*" = False
    Application.DoEvents
Loop

Dim pg = web.Document.GetElementById("gopage")
pg.SetAttribute("Value", "3")
For Each a As object In web.Document.GetElementById("PageCont").GetElementsByTagName("a")
    If a.GetAttribute("ClassName") = "btn_link" Then
        a.InvokeMember("click")
        Exit For
    End If
Next

Do Until web.Document.GetElementById("PageCont").GetElementsByTagName("span")(0).InnerText = 3
    Application.DoEvents
Loop

Dim trs = web.Document.GetElementById("dt_1").GetElementsByTagName("tr")
For i As Integer = 1 To trs.count - 1
    Dim tds = trs(i).GetElementsByTagName("td")
    For j As Integer = 0 To tds.count - 1
        output.show(tds(j).innerText)
    Next
Next


 回到顶部