C# winform 如何获取网页源码中的数据?

如题所述

private void button1_Click(object sender, EventArgs e)
{
try
{
if (this.txtUrl.Text.Trim().Length == 0)
{
("请输入主入口地址!");
}
else
{
//这里获取GetWebContent方法的结果
string webContent = GetWebContent(this.txtUrl.Text.Trim());

//声明一个WebBrowser
WebBrowser webBrowser = new WebBrowser();
webBrowser.Navigate("about:blank");

//将GetWebContent方法返回的结果转化为HtmlDocument,就可以正确处理网页中的元素了。
HtmlDocument htmlDoc = webBrowser.Document.OpenNew(true);
htmlDoc.Write(webContent);

//获取网页中Body中的Html代码
string outerHtml = htmlDoc.Body.OuterHtml;
//获取网页的标题
string outerTitle=htmlDoc.Title;

this.txtDocumentTitle.Text = outerTitle;
this.txtDocumentConent.Text = outerHtml;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-10-23
使用webbrowser控件可以获取网页的源代码,简单方便

string s=webbrowser1.DocumentText;
即可追问

谢谢,但我想用HttpResult,请问怎么获取ajax执行后的数据?

追答

httprequest实现不了的,ajax为非静态加载,你获取不到数据的

追问

还是不能取出完整的数据

追答

怎么获取不了完整的数据?可能你的网页是含有框架的,你需要加上框架里面的源代码,如何获取里面的源代码参考下:
http://blog.csdn.net/xtfnpgy/article/details/26486659

本回答被提问者和网友采纳
相似回答