C#.Net基于正则表达式抓取百度百家文章列表的方法示例

本文实例讲述了C#.Net基于正则表达式抓取百度百家文章列表的方法。分享给大家供大家参考,具体如下:

创新互联长期为近千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为让胡路企业提供专业的成都网站建设、成都网站制作,让胡路网站改版等技术服务。拥有十年丰富建站经验和众多成功案例,为您定制开发。

工作之余,学习了一下正则表达式,鉴于实践是检验真理的唯一标准,于是便写了一个利用正则表达式抓取百度百家文章的例子,具体过程请看下面源码:

一、获取百度百家网页内容

public List GetUrl()
{
  try
  {
    string url = "http://baijia.baidu.com/";
    WebRequest webRequest = WebRequest.Create(url);
    WebResponse webResponse = webRequest.GetResponse();
    StreamReader reader = new StreamReader(webResponse.GetResponseStream());
    string result = reader.ReadToEnd();
    reader.Close();
    webResponse.Close();
    return AnalysisHtml(result);
  }
  catch (Exception ex)
  {
    throw ex;
  }
}

二、通过正则表达式筛选

public List AnalysisHtml(string htmlContent)
{
  List list = new List();
  string strPattern = "

(?[^<]+)</a></h4>.*\\s*<p\\s*class=\"feeds-item-text\">(?<Abstract>[^<]+)<a\\s*href=\"(?<Url>.*)\"\\s*target=\"_blank\"\\s*class=\"feeds-item-more\"\\s*mon=\".*\\s*\">.*\\s*</a></p>"; Regex regex = new Regex(strPattern, RegexOptions.IgnoreCase | RegexOptions.Multiline | RegexOptions.CultureInvariant); if (regex.IsMatch(htmlContent)) { MatchCollection matchCollection = regex.Matches(htmlContent); foreach (Match match in matchCollection) { string[] str = new string[3]; str[0] = match.Groups[1].Value;//获取到的是列表数据的标题 str[1] = match.Groups[2].Value;//获取到的是内容 str[2] = match.Groups[3].Value;//获取到的是链接到的地址 list.Add(str); } } return list; } </pre></div><p><strong>附:</strong>完整实例代码点击此处<strong>本站下载</strong>。</p><p><strong>PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:</strong></p><p><strong>JavaScript正则表达式在线测试工具:<br /></strong>http://tools.jb51.net/regex/javascript</p><p><strong>正则表达式在线生成工具:<br /></strong>http://tools.jb51.net/regex/create_reg</p><p>更多关于C#相关内容感兴趣的读者可查看本站专题:《C#正则表达式用法总结》、《C#编码操作技巧总结》、《C#常见控件用法教程》、《WinForm控件用法总结》、《C#数据结构与算法教程》、《C#面向对象程序设计入门教程》及《C#程序设计之线程使用技巧总结》</p><p>希望本文所述对大家C#程序设计有所帮助。</p> <br> 网站标题:C#.Net基于正则表达式抓取百度百家文章列表的方法示例 <br> 分享链接:<a href="http://azwzsj.com/article/gjpoog.html">http://azwzsj.com/article/gjpoog.html</a> </div> </div> <div class="contentr fr"> <h3>其他资讯</h3> <ul> <li> <a href="/article/djocds.html">解释器模式如何在Java项目中实现-创新互联</a> </li><li> <a href="/article/djocjg.html">C语言跟C++的区别-创新互联</a> </li><li> <a href="/article/djocjs.html">BootStrapValidator根据条件在JS中添加或移除校验操作-创新互联</a> </li><li> <a href="/article/djocjh.html">C之接续符和转义符(十二)-创新互联</a> </li><li> <a href="/article/djocjp.html">node.jsexpress中app.param的用法详解-创新互联</a> </li> </ul> </div> </div> </div> <!--底部--> <footer> <div class="foot"> <div class="container"> <h1>阿坝州建站您身边的网站建设服务商</h1> <div class="foot1"> <ul> <li> <dl><i class="iconfont"></i><b>地址ADDRESS</b></dl> <p>四川-阿坝州青羊区太升南路288号<br> 锦天国际A座10楼 </p> </li> <li> <dl><i class="iconfont"></i><b>电话/TEL</b></dl> <p><a href="tel:02886922220" target="_blank">028 86922220</a> (工作日)<br> <a href="tel:18980820575" target="_blank">1898082 0575</a> ( 7x24 ) </p> </li> <li> <dl><i class="iconfont"></i><b>QQ咨询</b></dl> <p> 244261566 (售前)<br> 631063699 (售后) </p> </li> <li> <dl><i class="iconfont"></i><b>邮箱/E: mail</b></dl> <p> service@cdcxhl.com (业务)<br> hr@cdcxhl.com (求职) </p> </li> </ul> </div> <div class="link"> 友情链接: <a href="https://www.xwcx.net/" title="托管服务器" target="_blank">托管服务器</a>   <a href="https://www.cdcxhl.com/idc/guanghua.html" title="成都光华机房" target="_blank">成都光华机房</a>   <a href="http://www.bcwzsj.com/" title="bcwzsj.com" target="_blank">bcwzsj.com</a>   <a href="http://www.gylewan.com/" title="不锈钢招牌" target="_blank">不锈钢招牌</a>   <a href="https://www.cdcxhl.com/yunying.html" title="网站托管运营" target="_blank">网站托管运营</a>   <a href="http://www.sqsheji.cn" title="东电技服" target="_blank">东电技服</a>   <a href="http://www.cxjianzhan.com/" title="成都app软件开发" target="_blank">成都app软件开发</a>   <a href="http://www.jtfdjzy.com/" title="宣传单印刷" target="_blank">宣传单印刷</a>   <a href="http://www.4006tel.net/vision/website.html" title="网站设计" target="_blank">网站设计</a>   <a href="http://www.cxhljz.cn/web/" title="企业官网建设" target="_blank">企业官网建设</a>    </div> </div> </div> <div class="copy container"> Copyright © 2024 All Rights Reserved. 四川阿坝州网站建设公司 版权所有 <a href="https://beian.miit.gov.cn/" target="_blank" rel="nofollow">蜀ICP备2024099935号-3 </a> [原创设计,独立版权。未经许可.不得拷贝或镜像]<br> <a href="http://www.kswsj.cn/" target="_blank">网站营销推广</a> | <a href="https://www.cdcxhl.com/pinpai.html" target="_blank">品牌网站设计</a> | <a href="http://www.cdweb.net/" target="_blank">自适应网站建设</a> | <a href="http://cdkjz.cn/wangzhan/pinpai/" target="_blank">品牌网站建设</a> | <a href="http://chengdu.cdxwcx.cn/" target="_blank">成都网站制作</a> | <a href="https://www.cdcxhl.com/cloud/" target="_blank">云服务器</a> | <a href="https://www.cdcxhl.com/weihu/jiangan.html" target="_blank">阿坝州网站维护</a> | (阿坝州网站建设QQ : 631063699 )</div> </footer> <!--在线咨询--> <div class="fot"> <ul> <li> <a href="mqqwpa://im/chat?chat_type=wpa&uin=532337155&version=1&src_type=web&web_src=oicqzone.com" target="_blank"> <img src="/Public/Home/img/fot1.png" alt="建站咨询"> <p>在线咨询</p> </a> </li> <li> <a href="tel:18980820575" target="_blank"> <img src="/Public/Home/img/fot2.png" alt="建站电话"> <p>拨打电话</p> </a> </li> </ul> </div> </body> </html> <script> $(".con img").each(function(){ var src = $(this).attr("src"); //获取图片地址 var str=new RegExp("http"); var result=str.test(src); if(result==false){ var url = "https://www.cdcxhl.com"+src; //绝对路径 $(this).attr("src",url); } }); window.onload=function(){ document.oncontextmenu=function(){ return false; } } </script>