如何分析网页数据并且去除Html标签

2020-06-24 科技 121阅读
// 将接收到的数据增加到响应字符串中 strResponse += Encoding.ASCII.GetString(RecvBuffer, 0, nBytes); strResponse即是保存数据的字符串,此处用系统自带的System.Text.Encoding的方法转化 RecvBuffer,GetString的第一个参数RecvBuffer就是我们的原始数据,即包含需要解码的字节序列的字节数组;第二个参数0代表第一个要解码的字节的索引,一般就从0开始;第三个参数nBytes为要解码的字节数,可以自己调整。
得到了数据的字符串形式,然后可以对网页进行解析了(其实就是对字符串的各种操作和正则表达式的应用)。下面我以几个例子来说明对网页数据的解析:
// 解析页面,查找链接
// 此处尚需扩展,还有某些形式的链接不被识别 string strRef =@"(href|HREF|src|SRC|action|ACTION|Action)[ ]*=[ ]*[""'][^""'#>]+[""']";
MatchCollection matches =new Regex(strRef).Matches(strResponse);
strStatus +="找到: "+matches.Count+" 个链接\r\n"; 上面的例子将网页中的链接解析出来,strRef变量表示了正则表达式的模式,变量matches表示符合匹配的项目的集合,后面的 Regex(strRef).Matches(strResponse)就是创建正则规则使得strResponse里符合strRef模式的字符串都返回。然后调用matches的变量就可以取得各种信息了。
当然,这里只能识别一些基本的链接形式,像script中的链接和一些不带“”的链接都没有被支持,这个的扩展还是蛮简单的。
再举几个更简单点的解析的例子,大家学习学习:
//获取标题 Match TitleMatch = Regex.Match(strResponse, "([^<]*)</title>", RegexOptions.IgnoreCase | RegexOptions.Multiline);<br />title = TitleMatch.Groups[1].Value; //获取描述信息 Match Desc = Regex.Match(strResponse, "<Meta name=\"DESCRIPTION\" content=\"([^<]*)\">", RegexOptions.IgnoreCase | RegexOptions.Multiline); </div> <div class="tags"> </div> <div class="clear"> <div class="shares"> <b>声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com</b> <div id="share" class="share-component social-share" data-sites="weibo,qzone,qq,wechat"> </div> </div> <div class="act"> <a href="JavaScript:" onclick="zan('372827806139152524')" class="zan" title="赞"> <i class="iconfont bx bx-like"></i> <span id="zan">0</span> </a> </div> </div> <div class="clear"></div> </div> <div class="ny-ad"> </div> <div class="ny-ad"> </div> <div class="like"> <h3 class="title">最新文章</h3> <div class="piclist likep"> <div class="li"> <div class="img"> <a href="https://w.sf024.com/info/942589595637809572.html" title="惠普(HP)LaserJet MFP M436n打印怎么总提示纸盘1没纸,纸盘2设置保存了也不打印,怎么设置"> <img src="https://w.sf024.com/assets/img/default.jpg" alt=""> </a> </div> <a href="https://w.sf024.com/ask/10" class="cat">科技 </a> <h3> <a href="https://w.sf024.com/info/942589595637809572.html" title="惠普(HP)LaserJet MFP M436n打印怎么总提示纸盘1没纸,纸盘2设置保存了也不打印,怎么设置">惠普(HP)LaserJet MFP M436n打印怎么总提示纸盘1没纸,纸盘2设置保存了也不打印,怎么设置</a> </h3> <div class="meta"> <span class="time"> <i class="iconfont bx bx-time"></i> 04-15 </span> <span class="views"> <i class="iconfont bx bx-show"></i> 2.5万阅读 </span> </div> </div> <div class="li"> <div class="img"> <a href="https://w.sf024.com/info/709929852732135965.html" title="如何做好把一个新产品推向市场"> <img src="https://w.sf024.com/assets/img/default.jpg" alt=""> </a> </div> <a href="https://w.sf024.com/ask/10" class="cat">科技 </a> <h3> <a href="https://w.sf024.com/info/709929852732135965.html" title="如何做好把一个新产品推向市场">如何做好把一个新产品推向市场</a> </h3> <div class="meta"> <span class="time"> <i class="iconfont bx bx-time"></i> 04-16 </span> <span class="views"> <i class="iconfont bx bx-show"></i> 86阅读 </span> </div> </div> <div class="li"> <div class="img"> <a href="https://w.sf024.com/info/1309089613027686979.html" title="西门子冰箱"> <img src="https://w.sf024.com/assets/img/default.jpg" alt=""> </a> </div> <a href="https://w.sf024.com/ask/10" class="cat">科技 </a> <h3> <a href="https://w.sf024.com/info/1309089613027686979.html" title="西门子冰箱">西门子冰箱</a> </h3> <div class="meta"> <span class="time"> <i class="iconfont bx bx-time"></i> 04-16 </span> <span class="views"> <i class="iconfont bx bx-show"></i> 112阅读 </span> </div> </div> <div class="clear"></div> </div> </div> <div class="ny-ad"> </div> </div> <div class="sidebar"> <div class="widget postlist"> <h3>猜你喜欢</h3> <ul class="hasimg"> <li> <a href="https://w.sf024.com/info/372827806139152524.html" title="如何分析网页数据并且去除Html标签" class="img"> <img src="https://w.sf024.com/assets/img/default.jpg" alt="如何分析网页数据并且去除Html标签"> </a> <a href="https://w.sf024.com/info/372827806139152524.html" target="">如何分析网页数据并且去除Html...</a> <p class="meta"> <span> <i class="iconfont bx bx-time"></i> 06-24 </span><span> <i class="iconfont bx bx-show"></i> 121阅读 </span> </p> </li> <li> <a href="https://w.sf024.com/info/529569323.html" title="大数据文件分析,10亿IP记录中找登陆次数最多的1000个IP并且排序?" class="img"> <img src="https://w.sf024.com/assets/img/default.jpg" alt="大数据文件分析,10亿IP记录中找登陆次数最多的1000个IP并且排序?"> </a> <a href="https://w.sf024.com/info/529569323.html" target="">大数据文件分析,10亿IP记录中...</a> <p class="meta"> <span> <i class="iconfont bx bx-time"></i> 08-13 </span><span> <i class="iconfont bx bx-show"></i> 52阅读 </span> </p> </li> <li> <a href="https://w.sf024.com/info/682883632150003892.html" title="QQ浏览器9如何去除网页广告?" class="img"> <img src="https://w.sf024.com/assets/img/default.jpg" alt="QQ浏览器9如何去除网页广告?"> </a> <a href="https://w.sf024.com/info/682883632150003892.html" target="">QQ浏览器9如何去除网页广告?...</a> <p class="meta"> <span> <i class="iconfont bx bx-time"></i> 07-27 </span><span> <i class="iconfont bx bx-show"></i> 69阅读 </span> </p> </li> <li> <a href="https://w.sf024.com/info/552060451.html" title="如何有效去除网页上的弹出窗口?" class="img"> <img src="https://w.sf024.com/assets/img/default.jpg" alt="如何有效去除网页上的弹出窗口?"> </a> <a href="https://w.sf024.com/info/552060451.html" target="">如何有效去除网页上的弹出窗口?...</a> <p class="meta"> <span> <i class="iconfont bx bx-time"></i> 11-04 </span><span> <i class="iconfont bx bx-show"></i> 167阅读 </span> </p> </li> <li> <a href="https://w.sf024.com/info/625447030092212524.html" title="如何去除1号店登陆界面用户名呀?我不想它保留在网页上" class="img"> <img src="https://w.sf024.com/assets/img/default.jpg" alt="如何去除1号店登陆界面用户名呀?我不想它保留在网页上"> </a> <a href="https://w.sf024.com/info/625447030092212524.html" target="">如何去除1号店登陆界面用户名呀?...</a> <p class="meta"> <span> <i class="iconfont bx bx-time"></i> 06-26 </span><span> <i class="iconfont bx bx-show"></i> 100阅读 </span> </p> </li> <li> <a href="https://w.sf024.com/info/291568471.html" title="EXCEL表格中如何去除公式但保留数据?" class="img"> <img src="https://w.sf024.com/assets/img/default.jpg" alt="EXCEL表格中如何去除公式但保留数据?"> </a> <a href="https://w.sf024.com/info/291568471.html" target="">EXCEL表格中如何去除公式但保...</a> <p class="meta"> <span> <i class="iconfont bx bx-time"></i> 10-20 </span><span> <i class="iconfont bx bx-show"></i> 131阅读 </span> </p> </li> <li> <a href="https://w.sf024.com/info/1432242582306150259.html" title="如何html语言制作一个网页实现在网页中单击一个链接,出现只有关闭按钮的新窗口,并且原窗口为灰色不可用。" class="img"> <img src="https://w.sf024.com/assets/img/default.jpg" alt="如何html语言制作一个网页实现在网页中单击一个链接,出现只有关闭按钮的新窗口,并且原窗口为灰色不可用。"> </a> <a href="https://w.sf024.com/info/1432242582306150259.html" target="">如何html语言制作一个网页实现...</a> <p class="meta"> <span> <i class="iconfont bx bx-time"></i> 04-11 </span><span> <i class="iconfont bx bx-show"></i> 148阅读 </span> </p> </li> <li> <a href="https://w.sf024.com/info/29556565.html" title="Excel中数据如何自动导入到Word中,并且Word中的数据如何自动关联。" class="img"> <img src="https://w.sf024.com/assets/img/default.jpg" alt="Excel中数据如何自动导入到Word中,并且Word中的数据如何自动关联。"> </a> <a href="https://w.sf024.com/info/29556565.html" target="">Excel中数据如何自动导入到W...</a> <p class="meta"> <span> <i class="iconfont bx bx-time"></i> 11-12 </span><span> <i class="iconfont bx bx-show"></i> 173阅读 </span> </p> </li> <li> <a href="https://w.sf024.com/info/1885442626445733788.html" title="如何批量去除excel表中数据前的空格" class="img"> <img src="https://w.sf024.com/assets/img/default.jpg" alt="如何批量去除excel表中数据前的空格"> </a> <a href="https://w.sf024.com/info/1885442626445733788.html" target="">如何批量去除excel表中数据前...</a> <p class="meta"> <span> <i class="iconfont bx bx-time"></i> 08-19 </span><span> <i class="iconfont bx bx-show"></i> 59阅读 </span> </p> </li> <li> <a href="https://w.sf024.com/info/6271076.html" title="如何实现网页中的数据更新?" class="img"> <img src="https://w.sf024.com/assets/img/default.jpg" alt="如何实现网页中的数据更新?"> </a> <a href="https://w.sf024.com/info/6271076.html" target="">如何实现网页中的数据更新?...</a> <p class="meta"> <span> <i class="iconfont bx bx-time"></i> 05-19 </span><span> <i class="iconfont bx bx-show"></i> 256阅读 </span> </p> </li> </ul> </div> </div> </div> </section> <footer class="footer"> <div class="container"> <p class="copyright">COPYRIGHT 2013 - 2024 你问我答网®. ALL RIGHTS RESERVED. | <a href="https://beian.miit.gov.cn/" target="_blank">豫ICP备2020035127号</a></p> </div> </footer> <script> let search_type="1"; var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?752ceaa2e03e39366ceff9a414a1f6a7"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();</script> <script type="text/javascript" src="https://w.sf024.com/assets/js/jquery.share.min.js"></script> </body> </html>