一个通用html抽取类

下面以新浪微博为例子

Java代码 复制代码
  1. package com.ansj.sun.pojo;   
  2.   
  3. import java.util.ArrayList;   
  4. import java.util.Iterator;   
  5. import java.util.List;   
  6. import java.util.regex.Matcher;   
  7. import java.util.regex.Pattern;   
  8.   
  9. public class AnsjPaser {   
  10.   
  11.     private String beginRegex;   
  12.   
  13.     private String endRegex;   
  14.   
  15.     private Matcher matcher;   
  16.   
  17.     public final static String TEXTTEGEX = ".*?";   
  18.        
  19.     public final static String W = "\\W*?" ;   
  20.        
  21.     public final static String N = "" ;   
  22.        
  23.     private List<String> filterRegexList = new ArrayList<String>();   
  24.   
  25.     /**  
  26.      *   
  27.      * @param beginRegex 起始正则  
  28.      * @param endRegex 结束正则  
  29.      * @param content 需要解析的正文(如果没有此项必须为rest设置)  
  30.      * @param textRegex 其实和结束正则中间的部分,默认为.*?  
  31.      */  
  32.     public AnsjPaser(String beginRegex, String endRegex, String content,   
  33.             String textRegex) {   
  34.   
  35.         this.beginRegex = beginRegex;   
  36.   
  37.         this.endRegex = endRegex;   
  38.   
  39.         StringBuilder sb = new StringBuilder();   
  40.   
  41.         sb.append(beginRegex);   
  42.   
  43.         sb.append(textRegex);   
  44.   
  45.         sb.append(endRegex);   
  46.   
  47.         matcher = Pattern.compile(sb.toString()).matcher(content);   
  48.     }   
  49.   
  50.     /**  
  51.      *   
  52.      * @param beginRegex 起始正则  
  53.      * @param endRegex 结束正则  
  54.      * @param textRegex 其实和结束正则中间的部分,默认为.*?  
  55.      */  
  56.     public AnsjPaser(String beginRegex, String endRegex, String textRegex) {   
  57.   
  58.         this.beginRegex = beginRegex;   
  59.   
  60.         this.endRegex = endRegex;   
  61.   
  62.         StringBuilder sb = new StringBuilder();   
  63.   
  64.         sb.append(beginRegex);   
  65.   
  66.         sb.append(textRegex);   
  67.   
  68.         sb.append(endRegex);   
  69.   
  70.         matcher = Pattern.compile(sb.toString()).matcher(N);   
  71.     }   
  72.        
  73.   
  74.     /**  
  75.      * @param beginRegex 起始正则  
  76.      * @param endRegex 结束正则  
  77.      */    
  78.     public AnsjPaser(String beginRegex, String endRegex) {   
  79.   
  80.         this.beginRegex = beginRegex;   
  81.   
  82.         this.endRegex = endRegex;   
  83.   
  84.         StringBuilder sb = new StringBuilder();   
  85.   
  86.         sb.append(beginRegex);   
  87.   
  88.         sb.append(TEXTTEGEX);   
  89.   
  90.         sb.append(endRegex);   
  91.   
  92.         matcher = Pattern.compile(sb.toString()).matcher(N);   
  93.     }   
  94.   
  95.     /**  
  96.      * @创建人:Ansj -创建时间:2011-8-16 下午09:30:56  
  97.      * @方法描述: @return 返回正则内的内容去除了开始和结束标签,和需要过滤的正则返回用户需要的真正的内容  
  98.      */  
  99.     public String getText() {   
  100.         if (matcher.find()) {   
  101.             String str = matcher.group().trim().replaceFirst(beginRegex, N)   
  102.                     .replaceAll(endRegex, N);   
  103.             Iterator<String> it = filterRegexList.iterator() ;   
  104.             while(it.hasNext()){   
  105.                 str = str.replaceAll(it.next(), N) ;   
  106.             }   
  107.             return str ;   
  108.         }   
  109.         return null;   
  110.     }   
  111.   
  112.     /*  
  113.      * 得到下一个  
  114.      */  
  115.     public String getNext() {   
  116.         return matcher.group();   
  117.     }   
  118.   
  119.     /*  
  120.      * 是否包含下一个  
  121.      */  
  122.     public boolean hasNext() {   
  123.         return matcher.find();   
  124.     }   
  125.   
  126.     /**  
  127.     * @创建人:Ansj  -创建时间:2011-8-17 上午12:11:12      
  128.     * @方法描述:   @param content 需要解析的正文   
  129.     * @方法描述:   @return 返回本身  
  130.     * 这个方法是将此解析器重置,相当于重头开始.但是一些正则配置给予保留  
  131.      */  
  132.     public AnsjPaser reset(String content) {   
  133.         this.matcher.reset(content);   
  134.         return this ;   
  135.     }   
  136.        
  137.     /*  
  138.      * 添加getText的正则过滤条件  
  139.      */  
  140.     public AnsjPaser addFilterRegex(String filterRegex){   
  141.         filterRegexList.add(filterRegex) ;   
  142.         return this ;   
  143.     }   
  144.   
  145. }  
package com.ansj.sun.pojo;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class AnsjPaser {

	private String beginRegex;

	private String endRegex;

	private Matcher matcher;

	public final static String TEXTTEGEX = ".*?";
	
	public final static String W = "\\W*?" ;
	
	public final static String N = "" ;
	
	private List<String> filterRegexList = new ArrayList<String>();

	/**
	 * 
	 * @param beginRegex 起始正则
	 * @param endRegex 结束正则
	 * @param content 需要解析的正文(如果没有此项必须为rest设置)
	 * @param textRegex 其实和结束正则中间的部分,默认为.*?
	 */
	public AnsjPaser(String beginRegex, String endRegex, String content,
			String textRegex) {

		this.beginRegex = beginRegex;

		this.endRegex = endRegex;

		StringBuilder sb = new StringBuilder();

		sb.append(beginRegex);

		sb.append(textRegex);

		sb.append(endRegex);

		matcher = Pattern.compile(sb.toString()).matcher(content);
	}

	/**
	 * 
	 * @param beginRegex 起始正则
	 * @param endRegex 结束正则
	 * @param textRegex 其实和结束正则中间的部分,默认为.*?
	 */
	public AnsjPaser(String beginRegex, String endRegex, String textRegex) {

		this.beginRegex = beginRegex;

		this.endRegex = endRegex;

		StringBuilder sb = new StringBuilder();

		sb.append(beginRegex);

		sb.append(textRegex);

		sb.append(endRegex);

		matcher = Pattern.compile(sb.toString()).matcher(N);
	}
	

	/**
	 * @param beginRegex 起始正则
	 * @param endRegex 结束正则
	 */	
	public AnsjPaser(String beginRegex, String endRegex) {

		this.beginRegex = beginRegex;

		this.endRegex = endRegex;

		StringBuilder sb = new StringBuilder();

		sb.append(beginRegex);

		sb.append(TEXTTEGEX);

		sb.append(endRegex);

		matcher = Pattern.compile(sb.toString()).matcher(N);
	}

	/**
	 * @创建人:Ansj -创建时间:2011-8-16 下午09:30:56
	 * @方法描述: @return 返回正则内的内容去除了开始和结束标签,和需要过滤的正则返回用户需要的真正的内容
	 */
	public String getText() {
		if (matcher.find()) {
			String str = matcher.group().trim().replaceFirst(beginRegex, N)
					.replaceAll(endRegex, N);
			Iterator<String> it = filterRegexList.iterator() ;
			while(it.hasNext()){
				str = str.replaceAll(it.next(), N) ;
			}
			return str ;
		}
		return null;
	}

	/*
	 * 得到下一个
	 */
	public String getNext() {
		return matcher.group();
	}

	/*
	 * 是否包含下一个
	 */
	public boolean hasNext() {
		return matcher.find();
	}

	/**
	* @创建人:Ansj  -创建时间:2011-8-17 上午12:11:12    
	* @方法描述:   @param content 需要解析的正文 
	* @方法描述:   @return 返回本身
	* 这个方法是将此解析器重置,相当于重头开始.但是一些正则配置给予保留
	 */
	public AnsjPaser reset(String content) {
		this.matcher.reset(content);
		return this ;
	}
	
	/*
	 * 添加getText的正则过滤条件
	 */
	public AnsjPaser addFilterRegex(String filterRegex){
		filterRegexList.add(filterRegex) ;
		return this ;
	}

}





这里是调用例子

Java代码 复制代码
  1. package com.ansj.sun.impl;   
  2.   
  3. import java.io.BufferedReader;   
  4. import java.io.IOException;   
  5.   
  6. import com.ansj.sun.pojo.AnsjPaser;   
  7. import com.ansj.sun.util.IOUtil;   
  8.   
  9. public class HtmlPaser{   
  10.   
  11.     public static void main(String[] args) throws IOException {   
  12.         //阅读正文   
  13.         BufferedReader br = IOUtil.getReader(   
  14.                 "C:\\Users\\caiqing\\Desktop\\ajax采集\\zhanghuaping.html",   
  15.                 "UTF-8");   
  16.         StringBuilder sb = new StringBuilder();   
  17.         String temp = null;   
  18.         while ((temp = br.readLine()) != null) {   
  19.             sb.append(temp);   
  20.         }   
  21.   
  22.         System.out.println(sb);   
  23.         // 模块抽取   
  24.         String beginRegex = "<div class=\"MIB_feed_c\">\\W*?<p class=\"sms\"";   
  25.         String endRegex = "<div id=\"_comment_list_miniblog.*?\"></div>\\W*?</div>";   
  26.         AnsjPaser ansjHtml = new AnsjPaser(beginRegex, endRegex, sb.toString(),   
  27.                 AnsjPaser.TEXTTEGEX);   
  28.         // 正文抽取   
  29.         beginRegex = "<p class=\"sms\" mid=\"\\d*?\" type=\"\\d*?\">";   
  30.         endRegex = "</p>";   
  31.         AnsjPaser ansjContent = new AnsjPaser(beginRegex, endRegex).addFilterRegex("<.*?>");   
  32.         // 时间抽取   
  33.         beginRegex = "οnclick=\"GB_SUDA._S_uaTrack\\('weibo_transmit','time_origin'\\);\"><strong date=\"";   
  34.         endRegex = "\">";   
  35.         AnsjPaser ansjPubTime = new AnsjPaser(beginRegex, endRegex);   
  36.         // 来源抽取   
  37.         beginRegex = "<strong lang=\"CL1006\">来自</strong><cite><a.*?>";   
  38.         endRegex = "</a>";   
  39.         AnsjPaser ansjFrom = new AnsjPaser(beginRegex, endRegex);   
  40.         // 转发抽取   
  41.         beginRegex = "<strong lang=\"CD0023\" pop=\"true\">转发</strong><strong id=\"num_\\d*?\" rid=\"\\d*?\" type=\"rttCount\">\\(";   
  42.         endRegex = "\\)</strong>";   
  43.         AnsjPaser ansjRepeat = new AnsjPaser(beginRegex, endRegex);   
  44.         // 评论抽取   
  45.         beginRegex = "<strong lang=\"CL1004\">评论</strong><strong rid=\"\\d*?\" type=\"commtCount\">\\(";   
  46.         endRegex = "\\)</strong>";   
  47.         AnsjPaser ansjComment = new AnsjPaser(beginRegex, endRegex);   
  48.            
  49.         //开始抽取   
  50.         while (ansjHtml.hasNext()) {   
  51.   
  52.             String c1 = ansjHtml.getNext();   
  53.   
  54.             System.out   
  55.                     .println("=========================================================================");   
  56.   
  57.             System.out.println("时间:" + ansjPubTime.reset(c1).getText());   
  58.   
  59.             System.out.println("来源:" + ansjFrom.reset(c1).getText());   
  60.   
  61.             String str = ansjRepeat.reset(c1).getText();   
  62.             System.out.println("转发:"  
  63.                     + ((str == null || "".equals(str)) ? "0" : str));   
  64.   
  65.             str = ansjComment.reset(c1).getText();   
  66.             System.out.println("评论:"  
  67.                     + ((str == null || "".equals(str)) ? "0" : str));   
  68.   
  69.             System.out.println("正文:" + ansjContent.reset(c1).getText());   
  70.   
  71.         }   
  72.   
  73.     }   
  74.   
  75. }  
package com.ansj.sun.impl;

import java.io.BufferedReader;
import java.io.IOException;

import com.ansj.sun.pojo.AnsjPaser;
import com.ansj.sun.util.IOUtil;

public class HtmlPaser{

	public static void main(String[] args) throws IOException {
		//阅读正文
		BufferedReader br = IOUtil.getReader(
				"C:\\Users\\caiqing\\Desktop\\ajax采集\\zhanghuaping.html",
				"UTF-8");
		StringBuilder sb = new StringBuilder();
		String temp = null;
		while ((temp = br.readLine()) != null) {
			sb.append(temp);
		}

		System.out.println(sb);
		// 模块抽取
		String beginRegex = "<div class=\"MIB_feed_c\">\\W*?<p class=\"sms\"";
		String endRegex = "<div id=\"_comment_list_miniblog.*?\"></div>\\W*?</div>";
		AnsjPaser ansjHtml = new AnsjPaser(beginRegex, endRegex, sb.toString(),
				AnsjPaser.TEXTTEGEX);
		// 正文抽取
		beginRegex = "<p class=\"sms\" mid=\"\\d*?\" type=\"\\d*?\">";
		endRegex = "</p>";
		AnsjPaser ansjContent = new AnsjPaser(beginRegex, endRegex).addFilterRegex("<.*?>");
		// 时间抽取
		beginRegex = "οnclick=\"GB_SUDA._S_uaTrack\\('weibo_transmit','time_origin'\\);\"><strong date=\"";
		endRegex = "\">";
		AnsjPaser ansjPubTime = new AnsjPaser(beginRegex, endRegex);
		// 来源抽取
		beginRegex = "<strong lang=\"CL1006\">来自</strong><cite><a.*?>";
		endRegex = "</a>";
		AnsjPaser ansjFrom = new AnsjPaser(beginRegex, endRegex);
		// 转发抽取
		beginRegex = "<strong lang=\"CD0023\" pop=\"true\">转发</strong><strong id=\"num_\\d*?\" rid=\"\\d*?\" type=\"rttCount\">\\(";
		endRegex = "\\)</strong>";
		AnsjPaser ansjRepeat = new AnsjPaser(beginRegex, endRegex);
		// 评论抽取
		beginRegex = "<strong lang=\"CL1004\">评论</strong><strong rid=\"\\d*?\" type=\"commtCount\">\\(";
		endRegex = "\\)</strong>";
		AnsjPaser ansjComment = new AnsjPaser(beginRegex, endRegex);
		
		//开始抽取
		while (ansjHtml.hasNext()) {

			String c1 = ansjHtml.getNext();

			System.out
					.println("=========================================================================");

			System.out.println("时间:" + ansjPubTime.reset(c1).getText());

			System.out.println("来源:" + ansjFrom.reset(c1).getText());

			String str = ansjRepeat.reset(c1).getText();
			System.out.println("转发:"
					+ ((str == null || "".equals(str)) ? "0" : str));

			str = ansjComment.reset(c1).getText();
			System.out.println("评论:"
					+ ((str == null || "".equals(str)) ? "0" : str));

			System.out.println("正文:" + ansjContent.reset(c1).getText());

		}

	}

}




这个是返回结果

Java代码 复制代码
  1. =========================================================================   
  2. 时间:2011-08-15 10:19:24  
  3. 来源:iPhone客户端   
  4. 转发:0  
  5. 评论:4  
  6. 正文:云南石林奇景,难忘云南昆明的#yssnlp#   
  7. =========================================================================   
  8. 时间:2011-08-12 09:23:37  
  9. 来源:新浪微博   
  10. 转发:2  
  11. 评论:1  
  12. 正文:#YSSNLP#听上海交大刘功申副教授的报告“面向内容安全的自然语言关键技术研究”,敢说话,尺度很大,佩服!回想差不多十年在内容安全领域内的研究和工程经验,从初始的神秘感觉很酷,到最后的做了不敢说不愿说。   
  13. =========================================================================   
  14. 时间:2011-08-11 15:58:05  
  15. 来源:iPhone客户端   
  16. 转发:3  
  17. 评论:7  
  18. 正文:听哈工大刘挺教授的报告:从语言计算到社会计算,社会网络的兴起促进了计算社会科学的兴趣,很有见地!   
  19. =========================================================================   
  20. 时间:2011-08-11 13:16:30  
  21. 来源:iPhone客户端   
  22. 转发:1  
  23. 评论:0  
  24. 正文:这个资源是我们采用自动采集抽取得到的,然后经过邮政发达的连锁网络进行数据校对。有需要的可以联系我   
  25. =========================================================================   
  26. 时间:2011-08-11 11:35:02  
  27. 来源:新浪微博   
  28. 转发:2  
  29. 评论:0  
  30. 正文:听富士通的报告,看到富士通生成的互联网企业信息监控系统,和网络舆情的企业化应用一致,有意思。   
  31. =========================================================================   
  32. 时间:2011-08-11 10:03:14  
  33. 来源:新浪微博   
  34. 转发:8  
  35. 评论:1  
  36. 正文:听百度高级科学家王海峰的报告“面向互联网的泛自然语言处理”,新数据新资源:海量网页资源,用户行为数据,用户产生数据;新思路新方法:贴近真实需求与数据、平衡数据与算法、模拟真实应用的实验平台,基于实际需求的研究,基于最终应用的开发,一直是我所推崇的自然语言研究方法和思路。很有共鸣。   
  37. =========================================================================   
  38. 时间:2011-08-11 08:39:37  
  39. 来源:iPhone客户端   
  40. 转发:1  
  41. 评论:1  
  42. 正文:第八届全国自然语言处理青年学者研讨会 #yssnlp2011#   
  43. =========================================================================   
  44. 时间:2011-08-10 22:38:02  
  45. 来源:新浪微博   
  46. 转发:2  
  47. 评论:2  
  48. 正文:云南滇池温泉花园国际大酒店,夜游滇池,很美,晚上聆听床边的虫鸣,远离了北京每夜的喧嚣,难得的清净   
  49. =========================================================================   
  50. 时间:2011-08-10 21:20:37  
  51. 来源:iPhone客户端   
  52. 转发:0  
  53. 评论:1  
  54. 正文:夕阳,滇池,余正涛教授组织得很精细   
  55. =========================================================================   
  56. 时间:2011-08-10 18:21:55  
  57. 来源:iPhone客户端   
  58. 转发:1  
  59. 评论:0  
  60. 正文:我在这里:#昆明市区#参加全国青年学者自然语言学术会议,受邀制的会议,不发论文纯研讨会,交流更充分更单纯,见到好多老朋友了。   
  61. =========================================================================   
  62. 时间:2011-08-06 11:12:40  
  63. 来源:新浪微博   
  64. 转发:3  
  65. 评论:4  
  66. 正文:推理结论:1)说明博士老板很给力,好像科学院没这么多过,一直是2K以内;2)没有经济基础的高校“青椒”必须先解决生存问题才能解决生产问题,高校改革的核心思路不在于花美国的价召唤海归女婿的华丽报国,而在于用中国的价码给土鳖缓解菜色之忧,毕竟他们才是高校教育的一线火枪手,决定教育质量。   
  67. =========================================================================   
  68. 时间:2011-08-04 09:52:26  
  69. 来源:新浪新闻中心   
  70. 转发:1  
  71. 评论:1  
  72. 正文:#郭美美#1.头一回听郎教授采访,有些磕巴,问得没有那么一针见血,炫耀背书准备工作,他还是写书条理清晰,比较潮的话题把握得不如娱乐或者时事主持人;2.郭美美比想象中的还要无知无畏,如果没有幕后人,很快就能问出真相;3.郭妈妈是个有故事不简单的人,整个事件的突破口所在 http://t.cn/a82Y2Q   
  73. =========================================================================   
  74. 时间:2011-08-02 11:16:40  
  75. 来源:新浪微博   
  76. 转发:0  
  77. 评论:0  
  78. 正文:祝贺师弟获此殊荣,以后改称于领军了。//@白硕sse:同祝贺。 //@景伟NLP:祝贺! @ICTCLAS张华平博士 @白硕sse @   
  79. =========================================================================   
  80. 时间:2011-07-31 17:41:14  
  81. 来源:新浪微博   
  82. 转发:3  
  83. 评论:2  
  84. 正文:ICTCLAS张华平博士:#红十字信息公开#测试续:作为程序控和测试控,必须得说红十字会能公开一些数据有进步,值得肯定,但是错漏百出,如果需要,我们团队愿意协助做数据的纠错与系统的测试,该系统的再次查询老是错误,我们愿意帮助免费测试或者研发。支持的请转发 @中国红十字会总会   
  85. =========================================================================   
  86. 时间:2011-07-29 12:49:44  
  87. 来源:新浪微博   
  88. 转发:4  
  89. 评论:2  
  90. 正文:【温州动车追尾】用对救援铺天盖地的歌功颂德来掩饰严重失职,用天灾抹去人祸的痕迹,5-12后的今天才能从境外媒体聆听到受难者悲怆控诉。**在温州的危机公关吸纳了很多微博等网络媒体的舆情民意,这是庶民的胜利,也是政府危机处理的一次胜利转型。但愿成为常态化,我们还要继续呐喊。   
  91. =========================================================================   
  92. 时间:2011-07-28 13:31:18  
  93. 来源:关联博客   
  94. 转发:3  
  95. 评论:1  
  96. 正文:ICTCLAS2011 0728在Win7下C与C#调用的升级包 http://t.cn/aj30qU   
  97. =========================================================================   
  98. 时间:2011-07-26 17:26:03  
  99. 来源:iPhone客户端   
  100. 转发:1  
  101. 评论:0  
  102. 正文:与sigir2011组委会**,国际信息检索知名学者聂建芸老师交流。   
  103. =========================================================================   
  104. 时间:2011-07-26 11:43:55  
  105. 来源:iPhone客户端   
  106. 转发:1  
  107. 评论:0  
  108. 正文:参加#sigir2011#   
  109. =========================================================================   
  110. 时间:2011-07-25 14:37:28  
  111. 来源:新浪微博   
  112. 转发:1  
  113. 评论:1  
  114. 正文:【温州动车脱轨】我们都坐在这条快速而不安全的高速火车上,不知道什么时候什么地点会有什么神奇的遭遇,但愿火车上的人互助呐喊,破窗改变。奇迹小女孩伊伊让我们莫名的悲痛酸楚,让我们这些人更要坚强!一路走好,祝福你们,但愿那个世界没有这些草菅人命的恶心人恶心是     
  115. =========================================================================   
  116. 时间:2011-07-24 15:18:47  
  117. 来源:新浪微博   
  118. 转发:11  
  119. 评论:3  
  120. 正文:【温州动车追尾】中午CCTV对铁道部盛光祖部长采访,部长表示已经在调集最好的医生,还有周边的医疗救护小组正在赶来,最后记者说了一句:谢谢部长,然后礼貌离开。铁道部已然是救命的恩主,部长已然成了救世主了?不奢望部长引咎辞职,但感觉不到起码的歉意。记者敢直面声讨的动车才是真正的和谐号。   
  121. =========================================================================   
  122. 时间:2011-07-24 10:55:20  
  123. 来源:新浪新闻中心   
  124. 转发:18  
  125. 评论:8  
  126. 正文:温州动车追尾的报道还在延续悲催的中国特色:多报道英勇救援的感人事迹,少报道受害者的哭天抢地;多报道市民排队献血,少报道满地遇难者的流血;多强调天灾,少分析人祸;多报道遇难后的领导关切批示,不挖领导之前的不作为制造豆腐渣的内幕;灾难不怕,怕的是不挖内幕不反思,怕大团圆后灾难依然。   
  127. =========================================================================   
  128. 时间:2011-07-23 22:06:10  
  129. 来源:新浪微博   
  130. 转发:1  
  131. 评论:1  
  132. 正文:做任何一件大事情,好的领导者心中必须有大局,同时设立一个个小的里程碑,每天一点小进步,三天有局部成果,才会激励我辈小人物做进一步的钻研。目标越远大越抽象,落实越要小而可行。他几天完成了比较难的初步工作,在此基础上已经开始进一步的挑战,必须得肯定。   
  133. =========================================================================   
  134. 时间:2011-07-23 15:43:17  
  135. 来源:新浪微博   
  136. 转发:15  
  137. 评论:5  
  138. 正文:最近在做微博相关的研究,安排其中一个同学做电影评论分析,半年叮嘱下来语料库都没有收集齐全,说一直很忙;另外一个同学一声不吭花了三天的时间做了个微博关键词分析,效率很高健壮性也不错。两位我都觉得很聪明,偷懒的那个尤其聪明,结论:现在上过大学的人都很聪明,后续的成就多半靠爱好与勤奋。   
  139. =========================================================================   
  140. 时间:2011-07-21 09:37:35  
  141. 来源:新浪微博   
  142. 转发:0  
  143. 评论:0  
  144. 正文:广西贡院对联:十年寒窗诵四书言五经习六艺只为龙门一跃, 三考得志官七品威八面竭九尊全因河鲤重生。   
  145. =========================================================================   
  146. 时间:2011-07-18 15:52:42  
  147. 来源:iPhone客户端   
  148. 转发:2  
  149. 评论:9  
  150. 正文:在北理工听普度大学计算机教授luo si 报告machine learning approach in information retrieval   
  151. =========================================================================   
  152. 时间:2011-07-18 11:31:22  
  153. 来源:iPhone客户端   
  154. 转发:2  
  155. 评论:2  
  156. 正文:回复 @白硕sse:佛度众生,幻化万象,再好的精神也要以老百姓喜闻乐见的形式才能引人向善,甚至是不惜低俗化,先请君入瓮,再润物无声,最后大师再予以提升。毛**将马列主义在农村具体为打土豪分田地。华罗庚要去工厂推广统筹法? //@白硕sse:这个劝学篇,非常典型地体现了中国人对待知识的实用主义态   
  157. =========================================================================   
  158. 时间:2011-07-18 11:13:13  
  159. 来源:iPhone客户端   
  160. 转发:13  
  161. 评论:6  
  162. 正文:宋真宗劝学篇:男儿欲遂平生志,五经勤向窗前读。   
  163. =========================================================================   
  164. 时间:2011-07-14 14:17:13  
  165. 来源:新浪微博   
  166. 转发:7  
  167. 评论:9  
  168. 正文:刚从最高检所属的正义网http://t.cn/hM8is 回来,拜会了技术总监以及舆情研究院执行副院长,一起吃饭交流。总算知道:原来网上曝光和举报的各类信息就是这个Team在收集管理并给政法领导汇报,领导还是很清楚网络的,网络的各类举报不是没人理,不是不报时候未到。但愿嚣张跋扈者都会有报应。   
  169. =========================================================================   
  170. 时间:2011-07-13 16:30:52  
  171. 来源:新浪微博   
  172. 转发:13  
  173. 评论:30  
  174. 正文:刚从桂林开一个学术会议回来,团队的一个小伙悄悄告诉我,新浪微博的登录、采集与抽取,咱搞定了。亲自测试一番,果然如此,好兴奋,以后几乎没有我们获取不了的网络内容了,facebook,校内,都不在话下,之后的进一步研究就轻松多了    
  175. =========================================================================   
  176. 时间:2011-07-13 11:33:08  
  177. 来源:iPhone客户端   
  178. 转发:6  
  179. 评论:0  
  180. 正文:想起老家父母似乎一直都在这样激励自己自立、为人、勇敢。感动   
  181. =========================================================================   
  182. 时间:2011-07-13 11:18:42  
  183. 来源:iPhone客户端   
  184. 转发:0  
  185. 评论:1  
  186. 正文:回复 @kristy珍子:有点闲工夫做点公民教育:Cctv拿的是纳税人的钱,商业广告收入有我的贡献,电视台是公共场合,在自家客厅撒泼光膀子叫爷爷装爹别人管不着,但是公共场所和公共人物就必须有禁忌,不能伤风化,这是公共道德。你很喜欢张涵韵,但是你父母辈的可以不喜欢也可以批评。保留不同观念之自由   
  187. =========================================================================   
  188. 时间:2011-07-12 19:50:01  
  189. 来源:iPhone客户端   
  190. 转发:0  
  191. 评论:0  
  192. 正文:老外着中国皇帝装致晚宴欢迎辞。   
  193. =========================================================================   
  194. 时间:2011-07-12 19:44:30  
  195. 来源:iPhone客户端   
  196. 转发:1  
  197. 评论:15  
  198. 正文:哈哈哈,不小心捅了张涵韵粉丝的马蜂窝。看得懂的人都知道我在批评cctv以及我要上春晚,鄙人不是任何人的粉丝,就算是也绝不放弃冷静观察与独立批评公众媒体与公众人物之权力。   
  199. =========================================================================   
  200. 时间:2011-07-12 18:17:44  
  201. 来源:新浪微博   
  202. 转发:5  
  203. 评论:17  
  204. 正文:[CCTV不是你家客厅]昨晚回宾馆手欠,不小心看到了2011第一期我要上春晚,刘德华韩红闫肃三位评委干爹干哥干妹的乱叫一气,张含韵上台后认刘德华干爹认董卿干妈认韩红干姑认闫肃干爷爷,肿么了?这是CCTV吗,CCTV是你家客厅吗?一地鸡皮疙瘩,低俗无聊之极!   
  205. =========================================================================   
  206. 时间:2011-07-12 15:29:58  
  207. 来源:iPhone客户端   
  208. 转发:3  
  209. 评论:5  
  210. 正文:香港中文大学黄锦辉教授演讲,查询驱动的自动摘要。   
  211. =========================================================================   
  212. 时间:2011-07-12 09:47:39  
  213. 来源:iPhone客户端   
  214. 转发:1  
  215. 评论:1  
  216. 正文:桂林象鼻山   
  217. =========================================================================   
  218. 时间:2011-07-11 15:51:30  
  219. 来源:iPhone客户端   
  220. 转发:0  
  221. 评论:3  
  222. 正文:进入了桂林,参加明天的一个小型国际会议。   
  223. =========================================================================   
  224. 时间:2011-07-10 20:17:47  
  225. 来源:iPhone客户端   
  226. 转发:1  
  227. 评论:3  
  228. 正文:读南方周末编的"晚清变局与民国乱象",感觉在借古讽今:以富国强兵为目的的行政制度改革,说到底是朝廷的私事。如果政府权力不被限制,即使国富民强了,也只能增加统治者侵犯个人自由的能力,增加统治者骄傲自满的情绪,进一步败坏民族精神。历史反复证明,这样的政治改革也未必能促进国家的强盛   
  229. =========================================================================   
  230. 时间:2011-07-10 10:57:01  
  231. 来源:新浪微博   
  232. 转发:4  
  233. 评论:3  
  234. 正文:昨天跟一拨朋友在海棠红私人餐厅聚会,结识了@牛魔王的珍满福拉面 ,一个27年的资深IT人,在1年半时间扩张到100多家连锁店,采用IT垂直管理的模式,实现了标准化管理与经营;同时,建立规范的工会凝聚员工之间的向心力,其独到的管理以及对餐饮连锁的细节打造,着实让人佩服。   
  235. =========================================================================   
  236. 时间:2011-07-08 18:48:07  
  237. 来源:新浪微博   
  238. 转发:4  
  239. 评论:2  
  240. 正文:【郭美美背后金主:历史文化之谜】破解要点:1)爱马仕等名包属于郭MM之母,郭母或许才是真正的卖主;2)为什么深圳王军愿意顶包,翁涛爆料,天略老板送豪车;3)红十字会能捞钱,但是起对网络管控的能量尚不具备?美国《越狱》的编剧告诉我们:屁民看到的不过是皮毛,Company幕后真正boss可以操控国家。   
  241. =========================================================================   
  242. 时间:2011-07-08 18:34:25  
  243. 来源:新浪微博   
  244. 转发:2  
  245. 评论:3  
  246. 正文:【郭美美背后金主:历史文化之谜】:悲催的郭美美事件,跟踪了10来天,将我的研究方向引入了历史文化之谜,研究内容主要包括:《圣经》中都藏有什么秘密,谁是日本第一代天皇,耶稣是人还是神,拿破仑死亡之谜,希特勒的性别之谜,郭美美背后金主是谁?   
  247. =========================================================================   
  248. 时间:2011-07-05 11:23:01  
  249. 来源:新浪微博   
  250. 转发:4  
  251. 评论:10  
  252. 正文:ICTCLAS2011切分标注结果:儿子/n 生/v 性病/n 母/ng 倍感/v 安慰/an  悲催的,切分不算错误,但是不合语义逻辑。   
  253. =========================================================================   
  254. 时间:2011-07-03 19:46:19  
  255. 来源:iPhone客户端   
  256. 转发:0  
  257. 评论:1  
  258. 正文:孩子的即兴作品,太阳下的兔子   
  259. =========================================================================   
  260. 时间:2011-07-02 11:57:41  
  261. 来源:iPhone客户端   
  262. 转发:5  
  263. 评论:3  
  264. 正文:最牛校长叶志平只能在汶川地震三年得病去世后得到官方的表彰,否则三年前会有太多的校长及背后的长官因为豆腐渣被唾弃。社会表彰活着的顺从者和死去的叛逆者,文人不过是时代的点缀。   
  265. =========================================================================   
  266. 时间:2011-07-02 11:49:58  
  267. 来源:iPhone客户端   
  268. 转发:1  
  269. 评论:0  
  270. 正文:我和谁都不争,和谁争我都不屑 《生与死》——英国诗人兰德暮年之作 Walter Savage Landor I strove with none; for none was worth my strife;   
  271. =========================================================================   
  272. 时间:2011-06-30 11:26:24  
  273. 来源:iPhone客户端   
  274. 转发:0  
  275. 评论:4  
  276. 正文:网络搜索挖掘与安全实验室每周四开例会,实验室很快就壮大到了十几个人,最近还要加入新人,可以做很多研究工作了,今天由翟岩龙博士报告云计算报告,以后例会欢迎周边的同志参加。例会通知与报告发布均可以访问www.nlpir.org。   
  277. =========================================================================   
  278. 时间:2011-06-28 16:30:56  
  279. 来源:新浪微博   
  280. 转发:0  
  281. 评论:1  
  282. 正文:回复@不会缝衣服的厨子:你说的有些道理,从另外一个角度辩证地看,大公司的狼性管理是把公司当成狼,把员工变成绵羊,从而缺乏创新,甚至逼得跳楼;真正的狼性管理是向《亮剑》李云龙一样带队伍,让每个成员都是有血性讲团结有牺牲精神开拓精神的狼,打造一支狼群,一支更有战斗力和创新精神的队伍。   
  283. =========================================================================   
  284. 时间:2011-06-28 11:12:37  
  285. 来源:新浪微博   
  286. 转发:4  
  287. 评论:7  
  288. 正文:读完《狼图腾》:一部写民族性格的奇书,草原文化与农耕文化的强烈对比,狼生存的草原环境恶劣铸就了几万年以来狼有自己断骨的坚毅、卓越的军事素养,为了自由胜利不惜粉身碎骨的精神;越来越多的国人在人民内部是狼,遇到强敌即揭开画皮变成驯服的羊,国民性中的羊性与奴性值得我们反思。   
  289. =========================================================================   
  290. 时间:2011-06-26 06:23:16  
  291. 来源:iPhone客户端   
  292. 转发:0  
  293. 评论:4  
  294. 正文:早起赶六点四十五的班车去良乡校区准备2010级的c语言的考试,总共五场,约2000人。起得比狗早,静谧的校园也是一景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值