以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]抓取网页数据  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=81020)

--  作者:dqlgood
--  发布时间:2016/2/16 16:24:00
--  [求助]抓取网页数据

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

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

 


--  作者:大红袍
--  发布时间: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
--  发布时间:2016/2/16 16:47:00
--  
谢谢,太棒了!
--  作者:dqlgood
--  发布时间:2016/2/16 17:27:00
--  
能转换页码吗?
--  作者:大红袍
--  发布时间: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