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

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接口来调用,不明白为什么,没深入研究,有高手可以帮助解释一下。

 

转载于:https://www.cnblogs.com/fyy1003668657/p/8086220.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值