比如说
我用WebBrowser打开一网页
通过GGG=WebBrowser1.Document.innertext
获得了某一处的数据GGG
但是我现在不想打开该网页而想获得GGG这个数据。
能不能做得到。
有可行的什么方法吗?
谢了。
我用WebBrowser打开一网页
通过GGG=WebBrowser1.Document.innertext
获得了某一处的数据GGG
但是我现在不想打开该网页而想获得GGG这个数据。
能不能做得到。
有可行的什么方法吗?
谢了。
2 用winhttpAPI获取数据之后分析
Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
Function DownloadFile(url As String, LocalFilename As String) As Boolean
Dim lngRetVal As Long
lngRetVal = URLDownloadToFile(0, url, LocalFilename, 0, 0)
If lngRetVal = 0 Then DownloadFile = True
End Function使用举例:
Private Sub Command1_Click()
Const url = "http://community.csdn.net/Expert/topic/4234/4234147.xml?temp=.6008264"
If (DownloadFile(url, "c:\backdata\temp.htm")) Then
Debug.Print "下载成功"
Else
Debug.Print "下载失败"
End If
End Sub
谢了。
不需要靠本地的脚本。完全是服务器传过来的数据
。NET可以具体一点吗?
/// 模拟WEB页面的POST事件
/// </summary>
/// <param name="uri">请求的页面URL</param>
/// <param name="dataToPost">POST数据</param>
/// <returns>返回页面处理后的数据</returns>
public static string PagePost(string uri,string dataToPost)
{
CookieContainer cc = new CookieContainer();
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(uri);
req.ContentType = "application/x-www-form-urlencoded";
req.ContentLength = dataToPost.Length;
req.Method = "POST";
req.CookieContainer = cc;
using(Stream postData = req.GetRequestStream())
{
using(StreamWriter writer = new StreamWriter(postData, Encoding.Default))
{
writer.Write(dataToPost);
}
}
HttpWebResponse res = (HttpWebResponse)req.GetResponse();
res.Cookies = cc.GetCookies(req.RequestUri);
string resString = "";
using(Stream resData = res.GetResponseStream())
{
using(StreamReader reader = new StreamReader(resData, Encoding.Default))
{
resString = reader.ReadToEnd();
}
} return resString;
}需要添加System.Net命名空间,dataToPost表示页面接受的Post数据,可以向动态页面发送请求。
看来是我没有说清楚。
我要取得的是一个即时更新的网页上的数据
这个数据是随时可能更新
我需要时刻跟踪这个数据
但是因为我要开多个网页至少10个以上。
那样就在占用资源。
机子根本跑不动了。
所以我需要不打开网页而能够获得这个网页上数据的方法。
有吗?
谢了。
下载的方法好像不是太好实时跟踪,我不是太喜欢
还有其它的方法吗?
================================================
下载的方法得到的也是实时数据。因为使用的是API函数,资源耗费相当少。
如果你认为下载到文件中,然后再读入内存分析这样走弯路的话,可以尝试internetreadfile函数。
有关internetreadfile函数的用法,请参考:http://www.baidu.com/s?wd=internetreadfile&cl=3
然后用set xlsbook=xlsapp.Workbooks.Open("网址")
set xlssheet=xlsbook.Worksheets("sheet1")
然后取某个单元格的值即可。
然后用set xlsbook=xlsapp.Workbooks.Open("网址")
set xlssheet=xlsbook.Worksheets("sheet1")
然后取某个单元格的值即可
------------------------
对我来说还是不行。
我要取数据的那个网页它的网址是不变化的。
但是它有很多的链接,点了链接以后还是在原来的网页和网址下打开页面。
内容在这个页面里面。而且这个页面的网址还是原来的没变。但是内容变了。
用这种方法好像还是取不到我想要的值。
也就是说这个网址是用的框架。
主网页的那个地址是不会变动的。
但是它框架是可以变的。
这样应该怎么做。
是不是不显示可以很大的减少占用的资源?
API有什么好的方法