WebBrowser控件 如何获取网页内容

rocket2010 2011-07-17 12:42:50
请问各位大侠!


string phoneNum = tbPhoneNum.Text;
this.webPhoneGet.Url = new Uri("http://www.ip138.com:8080/search.asp?mobile=" + phoneNum + "&action=mobile");

我现在获取了手机归属地网页了。剩下的就是获取里面的 地区信息了。
请问在后台如何获取网页上面的内容,我不需要把网页写到什么地方去,我想知道用什么办法可以在断点里面看到网页的内容,然后扣下 我需要的信息

谢谢!
...全文
351 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
_小黑_ 2012-11-21
  • 打赏
  • 举报
回复
看不懂,先收藏
rocket2010 2011-07-17
  • 打赏
  • 举报
回复


string phoneNum = tbPhoneNum.Text;
this.webPhoneGet.Url = new Uri("http://www.ip138.com:8080/search.asp?mobile=" + phoneNum + "&action=mobile");
while (webPhoneGet.ReadyState != WebBrowserReadyState.Complete)
{
Application.DoEvents();
}
string content = webPhoneGet.Document.Body.InnerHtml;


谢谢 :tidalmelon 这位大侠 多了你那个while就可以的了 !

rocket2010 2011-07-17
  • 打赏
  • 举报
回复

上面的大侠 你们说清楚点啊

我都试过了 怎么不行的啊? mshtml .dll 下载添加不了

C# code 里面的内容试过了怎么不行的啊
tidalmelon 2011-07-17
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 rocket2010 的回复:]

引用 1 楼 evilant 的回复:
Document属性


这个我试过了 没用
string phoneNum = tbPhoneNum.Text;
this.webPhoneGet.Url = new Uri("http://www.ip138.com:8080/search.asp?mobile=" + phoneNum + "&action=mobile");
……
[/Quote]

while (webBrowser.ReadyState != WebBrowserReadyState.Complete)
{
Application.DoEvents();
}

得用这个确保页面加载结束
tidalmelon 2011-07-17
  • 打赏
  • 举报
回复
通用的,可通过dom获取ajax内容

HtmlAgilityPack.HtmlDocument htmlDocument = new HtmlAgilityPack.HtmlDocument();
mshtml.HTMLDocument htmldocument = (mshtml.HTMLDocument)webBrowser.Document.DomDocument;
string temp = htmldocument.documentElement.outerHTML;
byte[] buffer = Encoding.GetEncoding(webBrowser.Document.Encoding).GetBytes(temp);
MemoryStream ms = new MemoryStream(buffer);
htmlDocument.Load(ms, Encoding.GetEncoding(webBrowser.Document.Encoding));
return htmlDocument;

只能获取静态页内容。其实就是获取编码

internal string CurrentEncoding
{
get
{
return webBrowser.Document.Encoding;
}
}


HtmlAgilityPack.HtmlDocument htmlDocument = new HtmlAgilityPack.HtmlDocument();
htmlDocument.Load(webBrowser.DocumentStream, Encoding.GetEncoding(CurrentEncoding));
return htmlDocument;
rocket2010 2011-07-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 evilant 的回复:]
Document属性
[/Quote]

这个我试过了 没用
string phoneNum = tbPhoneNum.Text;
this.webPhoneGet.Url = new Uri("http://www.ip138.com:8080/search.asp?mobile=" + phoneNum + "&action=mobile");
HtmlDocument hd = webPhoneGet.Document;
......
请问还有哪位大侠看看怎么搞 谢谢
aXen 2011-07-17
  • 打赏
  • 举报
回复
Document属性

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧