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接口来调用,不明白为什么,没深入研究,有高手可以帮助解释一下。
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接口来调用,不明白为什么,没深入研究,有高手可以帮助解释一下。
相关文章推荐
- asp.net使用Microsoft.mshtml提取网页标题等解析网页
- ASP.NET使用母版页统一网页标题
- asp.net正则表达式提取网页网址、标题、图片,滤所有HTML标签
- ASP.NET正则表达式提取网页网址、标题、图片实例以及过滤所有HTML标签实例
- ASP.NET使用母版页统一网页标题
- asp.net正则表达式提取网页网址、标题、图片实例以及过滤所有HTML标签实例
- ASP.NET使用母版页统一网页标题
- 如何使用ASP.NET母版页统一网页标题
- 【ASP.NET】使用JS动态更改ASP.NET网页标题和Label
- asp.net正则表达式提取网页网址、标题、图片实例以及过滤所有HTML标签实例
- 如何使用ASP.NET母版页统一网页标题
- asp.net正则表达式提取网页网址、标题、图片,滤所有HTML标签
- ASP.NET C# 动态设置网页标题、关键字、描述
- wp7使用POST请求Asp.net网页时,HttpWebRequest的BeginGetResponse方法抛出NotSupportException异常的解决方法
- C#字符串数组排序 C#排序算法大全 C#字符串比较方法 一个.NET通用JSON解析/构建类的实现(c#) C#处理Json文件 asp.net使用Jquery+iframe传值问题
- 使用asp.net改变网页上图片颜色比如灰色变彩色
- Microsoft.AspNet.SignalR使用cookie丢失
- 使用资源本地化 ASP.NET 网页
- ASP.NET MVC中使用AJAX(XMLHttpRequest、Microsoft AJAX Library......)
- 使用 根据语言环境不同 而显示不同的 资源本地化 ASP.NET 网页