以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  求助 读取网页数据 网页如何刷新  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=117991)

--  作者:fanllys668
--  发布时间:2018/4/22 23:26:00
--  求助 读取网页数据 网页如何刷新
我按论坛上的代码 可以实现读取网页数据 现在有一个问题,网页每次要手动刷新才能读取最新数据,请教大家一下,怎么在这代码中 加一个刷新的代码 类型IE的 F5 刷新

Dim web As New System.Windows.Forms.WebBrowser()

web.ScriptErrorsSuppressed = True


web.Navigate("http://lot.mayaba8.com/home/History?lotteryId=12")

Do Until web.ReadyState = 4
    Application.DoEvents
Loop

Dim tb As object = web.Document.GetElementsByTagName("table")(0)
Dim trs = tb.GetElementsByTagName("tr")
For i As Integer = 1 To trs.count-1 Step 3
    Dim tds As object =  trs(i).GetElementsByTagName("td")
    For j As Integer = 0 To tds.count-1 \'       Step 3
        Output .show(i & "行" & j & "列:" & tds(j).innerText )
        \' MessageBox.Show( i & "行" )
        If j = 0
        MessageBox.Show(i & "行" & j & "列:" & tds(j).innerText )
        End If
    Next
Next

--  作者:有点甜
--  发布时间:2018/4/23 0:09:00
--  

你说的手动刷新是什么意思?不是每次执行1楼的代码都能得到最新数据吗?


--  作者:fanllys668
--  发布时间:2018/4/23 8:13:00
--  
得不到,不管执行多少次,数据都不是最新的,要在IE里打开这个地址,刷新一下,再执行这代码才是最新的数据
--  作者:fanllys668
--  发布时间:2018/4/23 8:22:00
--  
开奖结果不是最新期数,要生新打开窗口 或 在那件WEB控件里按F5刷新后,再点采集才会是最新的,这是为什么
图片点击可在新窗口打开查看此主题相关图片如下:qq截图20180423082042.png
图片点击可在新窗口打开查看

--  作者:fanllys668
--  发布时间:2018/4/23 8:24:00
--  
窗口关闭也不会刷新,要整个项目重新打开才会是最新数据,是不是FT也有缓存
--  作者:有点甜
--  发布时间:2018/4/23 8:51:00
--  

那就尝试改成

 

web.Navigate("http://lot.mayaba8.com/home/History?lotteryId=12&key=" & rand.Next(10000))

 


--  作者:fanllys668
--  发布时间:2018/4/23 9:08:00
--  
这样可以,谢谢有点甜老师, key = rand.Next(10000)  这个不太明白,可以解释一下吗,后面这个10000 是代码10秒吗
--  作者:有点甜
--  发布时间:2018/4/23 9:40:00
--  

缓存问题。如果每次的地址一样,就不会获取最新的数据。

 

要合成不同的地址,使用随机数处理 http://www.foxtable.com/webhelp/scr/0349.htm

 


--  作者:fanllys668
--  发布时间:2018/4/23 10:39:00
--  
明白了,非常感谢!