我通过这种方式获取网页源码 网页中的Ajax数据
switch (frmMain.intVersionType)
{
case -1:
bool isDownLoad = WebClientDownLoadHTML(ResponseUri.ToString(), intURLID);
return;
case 0:
strSendData = "GET " + ResponseUri.ToString() + " HTTP/1.0\r\n";
break;
case 1:
strSendData = "GET " + ResponseUri.ToString() + " HTTP/1.1\r\n";
break;
}
strSendData += "Accept: */*\r\n"
+ "Referer: " + ResponseUri.ToString() + "\r\n"
+ "Accept-Language: zh-cn\r\n"
+ "User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1)\r\n"
+ "Proxy-Connection: Keep-Alive\r\n"
+ "Host: " + ResponseUri.Host + "\r\n\r\n";
webclientDownLoadHTML.Incept += new InceptEvent(wcHTML_Incept); // 接收数据事件
webclientDownLoadHTML.Refresh += new RefreshEvent(wcHTML_Refresh);
webclientDownLoadHTML.Error += new ErrorEvent(wcHTML_Error);
string strIP = Dns.GetHostEntry(ResponseUri.Host).AddressList[0].ToString(); // Ip地址
int intPort = ResponseUri.Port;
webclientDownLoadHTML.Conn(strIP, intPort);
// 连接服务器
if (webclientDownLoadHTML.Activ) // 是否连接成功
{
webclientDownLoadHTML.Initialize(); // 初始化变量
byte[] Buffer = System.Text.Encoding.Default.GetBytes(strSendData);
webclientDownLoadHTML.Send(Buffer, ResponseUri.ToString(), intURLID); // 开始下载页面
}C#webbrowser以及Application.DoEvents()实现采集动态网页这种效率太低了我不想使用!
谁有好的想法,或有执行动态执行JS的方式?
我试过使用:MSScriptControl但是只能执行我指定方法给参数的脚本,却实现不了动态
switch (frmMain.intVersionType)
{
case -1:
bool isDownLoad = WebClientDownLoadHTML(ResponseUri.ToString(), intURLID);
return;
case 0:
strSendData = "GET " + ResponseUri.ToString() + " HTTP/1.0\r\n";
break;
case 1:
strSendData = "GET " + ResponseUri.ToString() + " HTTP/1.1\r\n";
break;
}
strSendData += "Accept: */*\r\n"
+ "Referer: " + ResponseUri.ToString() + "\r\n"
+ "Accept-Language: zh-cn\r\n"
+ "User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1)\r\n"
+ "Proxy-Connection: Keep-Alive\r\n"
+ "Host: " + ResponseUri.Host + "\r\n\r\n";
webclientDownLoadHTML.Incept += new InceptEvent(wcHTML_Incept); // 接收数据事件
webclientDownLoadHTML.Refresh += new RefreshEvent(wcHTML_Refresh);
webclientDownLoadHTML.Error += new ErrorEvent(wcHTML_Error);
string strIP = Dns.GetHostEntry(ResponseUri.Host).AddressList[0].ToString(); // Ip地址
int intPort = ResponseUri.Port;
webclientDownLoadHTML.Conn(strIP, intPort);
// 连接服务器
if (webclientDownLoadHTML.Activ) // 是否连接成功
{
webclientDownLoadHTML.Initialize(); // 初始化变量
byte[] Buffer = System.Text.Encoding.Default.GetBytes(strSendData);
webclientDownLoadHTML.Send(Buffer, ResponseUri.ToString(), intURLID); // 开始下载页面
}C#webbrowser以及Application.DoEvents()实现采集动态网页这种效率太低了我不想使用!
谁有好的想法,或有执行动态执行JS的方式?
我试过使用:MSScriptControl但是只能执行我指定方法给参数的脚本,却实现不了动态
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货