Foxtable(狐表)用户栏目专家坐堂 → 求助 读取网页数据 网页如何刷新


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

主题:求助 读取网页数据 网页如何刷新

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


加好友 发短信
等级:幼狐 帖子:198 积分:2544 威望:0 精华:0 注册:2012/8/12 23:46:00
求助 读取网页数据 网页如何刷新  发帖心情 Post By: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

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/23 0:09:00 [只看该作者]

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


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


加好友 发短信
等级:幼狐 帖子:198 积分:2544 威望:0 精华:0 注册:2012/8/12 23:46:00
  发帖心情 Post By:2018/4/23 8:13:00 [只看该作者]

得不到,不管执行多少次,数据都不是最新的,要在IE里打开这个地址,刷新一下,再执行这代码才是最新的数据

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


加好友 发短信
等级:幼狐 帖子:198 积分:2544 威望:0 精华:0 注册:2012/8/12 23:46:00
  发帖心情 Post By:2018/4/23 8:22:00 [只看该作者]

开奖结果不是最新期数,要生新打开窗口 或 在那件WEB控件里按F5刷新后,再点采集才会是最新的,这是为什么
图片点击可在新窗口打开查看此主题相关图片如下:qq截图20180423082042.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:幼狐 帖子:198 积分:2544 威望:0 精华:0 注册:2012/8/12 23:46:00
  发帖心情 Post By:2018/4/23 8:24:00 [只看该作者]

窗口关闭也不会刷新,要整个项目重新打开才会是最新数据,是不是FT也有缓存

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/23 8:51:00 [只看该作者]

那就尝试改成

 

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

 


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


加好友 发短信
等级:幼狐 帖子:198 积分:2544 威望:0 精华:0 注册:2012/8/12 23:46:00
  发帖心情 Post By:2018/4/23 9:08:00 [只看该作者]

这样可以,谢谢有点甜老师, key = rand.Next(10000)  这个不太明白,可以解释一下吗,后面这个10000 是代码10秒吗

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/23 9:40:00 [只看该作者]

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

 

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

 


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


加好友 发短信
等级:幼狐 帖子:198 积分:2544 威望:0 精华:0 注册:2012/8/12 23:46:00
  发帖心情 Post By:2018/4/23 10:39:00 [只看该作者]

明白了,非常感谢!

 回到顶部