我想做个软件,做到一个功能的时候被卡住了,我取得一个网站的数据,这个网站是JSP做的,想获取的这个数据是实时动态的表格里的数据,他自己是30秒更新一回,他自己有刷新的图片按钮,我拿到了这个网页的一部分源码,其中也包括这个刷新的JS函数,就是想利用Timer这个定时器和它自己的刷新函数来让网站数据1秒刷新一回,这样一个功能如何实现,还有就是如何获取它表格里的数据??最好是C#语言,别的也行,指导个思路也可以。
调试欢乐多
如果是刷新网页来刷新数据的话,那你就要不停的执行一秒后刷新的js获取表格里面的数据...
你先看看它刷新数据是怎么实现的 如果使用Ajax来实现的 一般使用JsOn数据格式,
那么你可以直接用HttpWebRequest来获取数据了当然 使用正则表达式分析html中的table也是一种选择
这个网站网址保护的比较好,我虽然下下他的JS函数,但是JS的函数具体位置不能确定,调用的时候源地址怎么填呢?如何能伪装成它自己的网页进行调用呢?
int i = 0;
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
mshtml.IHTMLDocument2 iHTMLDocument2 = (mshtml.IHTMLDocument2)webBrowser1.Document.DomDocument;
mshtml.IHTMLWindow2 iHTMLWindow2 = (mshtml.IHTMLWindow2)iHTMLDocument2.parentWindow; disableConfirm(); // 实现单击按钮
mshtml.IHTMLElement iHTMLElement = (mshtml.IHTMLElement)iHTMLDocument2.all.item("b34", 0);
iHTMLElement.click();// 单击
i++;
label1.Text = i.ToString();
Thread.Sleep(100); webBrowser1.Url = e.Url;
} //禁用目标window的confirm、alert等对话框。
private void disableConfirm()
{
HtmlDocument doc = webBrowser1.Document.Window.Document;
//框架结构中,必须正确的指定目标框架 IHTMLWindow2 win = (IHTMLWindow2)doc.Window.DomWindow; string s = "";
s += @"function confirm() {";
s += @"return true;";
s += @"}"; s += @"function alert() {}"; s += @"function killErrors() {return true;}window.onerror = killErrors;"; win.execScript(s, "javascript"); }虚拟用户刷票
里的"b34",比如在这里:<div id=u><a href=http://passport.baidu.com/?login&tpl=mn>登录</a></div>
用的就是"u"?楼上能再说明白点么?还有楼上能说说利用MSHTML如何提取网页表格的数据呢?