利用正则表达式获取博客园随笔(一)
2013-07-31 23:21
218 查看
晚上起先和朋友们跑步去了,然后回来之后洗了个澡,打开VS新建项目发现都会弹出一个问题
View Code
然后再观察每条随笔的规律,我们发现没条的开头是<div class="post_item_body">,结尾是<div class="clear">,那我们就可以根据这个规律来写出正则:Regex regexContent = new Regex("<div class=\"post_item_body\">(?<content>.*?)<div class=\"clear\"></div>",RegexOptions.Singleline);
然后可以使用这个正则来获取我们需要匹配的内容了
在这里我用到的正则匹配工具是Expresso,有需要的朋友可以留言。当然,如果我有什么地方写的不好的,欢迎各位指出。晚上就先到这里了,该洗洗睡了。
/// <summary> /// 根据网址获取页面源码 /// </summary> /// <param name="url"></param> /// <returns></returns> public string GetHtml(string url) { string ContentHtml = ""; try { HttpClient hc = new HttpClient(); hc.Url = url; if (!hc.Url.Contains("http://"))//如果输入的网址没有包含http:// 则手动添加 { hc.Url = "http://" + hc.Url; } ContentHtml = hc.GetString(); } catch (Exception e)//如果上面的执行出错,则返回继续执行 { return GetHtml(url); } return ContentHtml; }
View Code
然后再观察每条随笔的规律,我们发现没条的开头是<div class="post_item_body">,结尾是<div class="clear">,那我们就可以根据这个规律来写出正则:Regex regexContent = new Regex("<div class=\"post_item_body\">(?<content>.*?)<div class=\"clear\"></div>",RegexOptions.Singleline);
然后可以使用这个正则来获取我们需要匹配的内容了
string Html= GetHtml("http://www.cnblogs.com/"); Regex regexContent = new Regex("<div class=\"post_item_body\">(?<content>.*?)<div class=\"clear\"></div>",RegexOptions.Singleline); string blog = regexContent.Match(Html).Groups["content"].Value.ToString();
在这里我用到的正则匹配工具是Expresso,有需要的朋友可以留言。当然,如果我有什么地方写的不好的,欢迎各位指出。晚上就先到这里了,该洗洗睡了。
相关文章推荐
- 利用正则表达式获取博客园随笔(四)
- 利用正则表达式获取博客园随笔(一)
- 利用正则表达式获取博客园随笔(三)
- 利用正则表达式获取博客园随笔(三)
- 利用正则表达式获取博客园随笔(二)
- 利用正则表达式获取博客园随笔(四)
- 正则表达式获取博客园随笔1
- OC利用正则表达式获取网络资源(网络爬虫)
- 利用正则表达式统计代码中的(代码行数,注释行数,空白行数)利用正则表达式获取一个网页中所有的邮箱地址
- OC利用正则表达式获取网络资源(网络爬虫)
- 在MFC程序中,利用boost 正则表达式获取URL参数示例
- JAVA利用正则获取算术表达式的数字
- 【实例】正则表达式利用grep和sed处理日志内容,获取所需的内容
- 利用正则表达式获取博客园随笔
- 利用正则表达式 获取FCK上传的图片
- 利用正则表达式获取syslog
- 利用java正则表达式来解析并获取指定的字符串
- ant利用正则表达式获取文件夹名
- 利用正则表达式获取地址栏参数
- 利用正则表达式获取网卡的MAC地址