以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 求助 读取网页数据 网页如何刷新 (http://foxtable.net/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 -- 明白了,非常感谢! |