您的位置:首页 > 编程语言 > ASP

asp.net使用Microsoft.mshtml提取网页标题等解析网页

2013-07-21 22:43 387 查看
1. 添加对Microsoft.mshtml这个程序集的引用

2. 使用WebClient等方法下载网页源代码(乱码解决方法:webClient.Encoding =Encoding.UTF8;)

或者使用这里面的方法下载网页源代码:http://blog.csdn.net/ful1021/article/details/9399705

3. 用法如下:

WebClient wc = new WebClient();

string html = wc.DownloadString("");

wc.Encoding = Encoding.UTF8;

HTMLDocumentClass doc = new HTMLDocumentClass();

doc.designMode = "on"; //不让解析引擎去尝试运行javascript

doc.IHTMLDocument2_write(html);

string title = doc.title;

string text = doc.body.innerText;

//更多用法自己探索

//所有Dom方法都能在mshtml中调用

3. 在使用的过程中遇到两个问题:

3.1、VS2010中引用Microsoft.mshtml之后,要修改这个引用的“嵌入互操作类型”为False。

3. 2、调用doc.write方法的时候必须通过IHTMLDocument2接口来调用,否则报错“错误的类型”,在google上搜“type mismatch HTMLDocument write”发现这篇帖子http://www.vistax64.com/powershell/95133-how-powershell-parse-htmldocument.html ,提到必须通过IHTMLDocument2接口来调用,不明白为什么,没深入研究,有高手可以帮助解释一下。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: