日期:2014-05-19  浏览次数:20494 次

网页源码过滤问题,得到纯文本内容
是这样,我得到一网页的源码(就是html格式的),然后我想得到的是比如在ie里面直接打看该网页,然后ctrl+a,ctrl+c贴在文本文件(.txt)里的纯文本内容!!!
高手赐教!大家也不鄙讨论下~~~

------解决方案--------------------
。。。。。。
新建文本文件,粘贴在文本里面,保存为a.html
用ie打开,全选,复制,粘贴
------解决方案--------------------
//声明一个HttpWebRequest请求
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
//连接超时时间
request.Timeout = 500000;
request.Headers.Set( "Pragma ", "no-cache ");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream streamHtmlCode = response.GetResponseStream();
Encoding encoding = Encoding.GetEncoding( "GB2312 ");
StreamReader streamReader = new StreamReader(streamHtmlCode, encoding);
strHtmlContent = streamReader.ReadToEnd();
------解决方案--------------------
不明白~~你说的什么。。友情UP
------解决方案--------------------
不明白
------解决方案--------------------
你现在是否已经得到了网页源码,如果没有,先用HttpWebRequest 或HttpWebClient先取得网页的源码,然后用正则过滤掉其中的html标签
------解决方案--------------------
如果是从网页源码得到你想要的那种结果,一般来说就是用正则来处理了

------解决方案--------------------
不用正则用WebBrowser或许可以做到,我没有做过,可以在网上找下这方面的资料

用正则的话,一般要考虑html标签和javascript脚本,写的时候尽量使用非贪婪模式匹配,再加个RegexOptions.Compiled参数,如果不是处理大数据量的,性能上不会有明显差别

也可以参考一下这篇文章里有关正则性能讨论的部分
http://www.regexlab.com/zh/regtopic.htm