Posts Tagged ‘软件研发’

利用jericho和htmlparser对网页进行解析—以读取酒立方的文章为例

研究开源项目jericho,并利用jericho对html进行解析的一些心得体会。

下面只是读取其中文章主题内容的一个例子,展现了jericho读取文章的基本功能。

优点:操作简单,类库强大

缺点:速度不尽人意

下一步:继续研究jericho的代码,并计划对其扩展,提高性能或者结合其他html解析工具对性能进行处理。基本思路:可以从网页下载方面下手。

希望有研究网页爬虫和html解析方面的朋友多提意见。

package cn.com.ossoftware;

import java.net.URL;
import java.util.List;

import net.htmlparser.jericho.Element;
import net.htmlparser.jericho.HTMLElementName;
import net.htmlparser.jericho.MasonTagTypes;
import net.htmlparser.jericho.MicrosoftTagTypes;
import net.htmlparser.jericho.PHPTagTypes;
import net.htmlparser.jericho.Source;
/**
 * 解析www.flzj.com中的文章。
 * 1,截取所有的文章,然后分析按分类进行整理导入到新的网站中。
 * 2,对内容进行分析整理。
 * @author peterwang
 *
 */
public class ExtractTextFromJiulifang {public static void main(String[] args) throws Exception {
 
 String sourceUrlString=”http://www.spirits.jiulifang.com/brandy-news/17601.html”;//文章的链接,根据具体情况处理。
 
 //String sourceUrlString=”http://www.flzj.com/html/flxw/quexun/23050.html“;//对法律专家网站文章进行解析
 if (args.length==0)
   System.err.println(”Using default argument of “”+sourceUrlString+’”‘);
 else
  sourceUrlString=args[0];
 if (sourceUrlString.indexOf(’:')==-1) sourceUrlString=”file:”+sourceUrlString;
 MicrosoftTagTypes.register();
 PHPTagTypes.register();
 PHPTagTypes.PHP_SHORT.deregister(); // remove PHP short tags for this example otherwise they override processing instructions
 MasonTagTypes.register();
 Source source=new Source(new URL(sourceUrlString));

 // Call fullSequentialParse manually as most of the source will be parsed.
 source.fullSequentialParse();
 

 System.out.println(”nLinks to other documents:”);
 //List<Element> linkElements=source.getAllElements(HTMLElementName.A);
 
 List<Element> linkElements=source.getAllElements(HTMLElementName.DIV);//获得法律专家网站的div标签,后者是对酒立方文章的div标签进行过滤。
 //过滤特殊的片断–peter 获得法律专家的文章正文内容
 for (Element linkElement : linkElements) {
  String href=linkElement.getAttributeValue(”class”);   
  if (href == null || !href.equalsIgnoreCase(”area_article”)) continue;//具体判断是哪个div,从而对法律专家网站和酒立方网站的文章进行处理
  //System.out.println(”peter__________class=”+” <”+href+’>’);
  // A element can contain other tags so need to extract the text from it:
  /*获得文章文字内容*/
  //String label=linkElement.getContent().getTextExtractor().toString();//法律专家和酒立方文章文字进行输出。
  //System.out.println(label+” <”+href+’>’);
  //element的内容就是html源码。
  String label=linkElement.getContent().toString();//html内容输出
  System.out.println(label+” <”+href+’>’);  
  //System.out.println(linkElement.getSource().clearCache());
    
 }
}

}

更多研究jericho的文章,Jericho HTML Parser 研究学习 — http://www.wanghongbo.com/archives/320 

输出结果如下:

正确品尝白兰地烈酒的三步骤详解 【文章来源】:新华网 【日期】:2010-01-05       白兰地是以水果为原料,经过发酵、蒸馏、贮藏陈酿而成的蒸馏酒。通常讲白兰地是以葡萄为原料酿制而成的,而以其他水果为原料酿成的白兰地,应冠以原料水果的名称,如苹果白兰地、樱桃白兰地等。     白兰地作为世界四大蒸馏名酒之一,是以法国白兰地品质为代表的。目前世界上产量最大、声誉最高的白兰地是法国科涅克。科涅克是法国夏朗德省的一座古镇,这里有大片的葡萄园,大大小小生产科涅克的工厂比比皆是,年平均产量为500万加仑(纯酒精)科涅克。目前,我国国产白兰地的年产量为2万多吨。     要真正领略白兰地的韵味,就要有正确的品尝方法。白兰地的品尝大致可以分为三步,首先是看酒的清度与颜色。上乘白兰地为琥珀色、晶莹光灿、庄重而不娇艳。第二步是闻香,白兰地除具有葡萄原料的果香外,更主要的需具有常年贮存于橡木桶中,酒与橡木结合而产生的香气,这种香气虽经加水冲稀仍能保持原来的香气特点,用香料配成的酒香气浮,不醇和,并且无贮存的橡木香,冲稀即变味。优质的白兰地味感应具有贮存橡木香,它不仅进口柔软,入腹发热,还有诱人的水果鲜香味和幽雅醇厚的陈酿香味,味韵协调,回味绵延。通过闻香,白兰地质量的好坏可以确定60%。第三步也是最关键的一步,就是入口。第一口用舌尖抿一小滴,让其沿舌尖蔓延整个舌头,再进入喉咙。第二口可以稍多些,进一步领略温柔醇香的独特感觉。     在酒类货架上,到处可见各种牌号的法国白兰地、中国产白兰地及各种中外合资企业生产的白兰地。消费者在选购白兰地时,首先能看到的是产品的外在品质。好的白兰地产品,首先在视觉上就会给人以美的享受:澄清透亮、晶莹光灿,颜色一般为金黄色或者赤金黄色,庄重而不娇艳。白兰地的颜色和色调,在某种程度上反映白兰地贮藏时间的长短和质量的好坏,如果酒液呈暗红或瓦灰色,说明质量较差。     白兰地产品标签上标注的内容,也为消费者选择适合自己的产品提供了重要的信息。一是产品的名称,如果名称为其他水果白兰地(或X.O、VSOP等),则这个产品就不是以葡萄为原料酿成的。二是产品配料,在产品的标签上有配料表的内容,消费者在购买时要看清配料,确认原料是葡萄或其他水果。三是产品等级,不同等级的白兰地品质不同,其价格差异也很悬殊,消费者应该根据自己的个人喜好以及消费水平,参考上面对于白兰地分级的介绍,选择适合的产品。     另外,选购白兰地时,认清白兰地牌号,尽量选择一些名牌和大型企业的产品,这些企业具备较成熟的工艺和完备的技术、设备,质量更有保证。   相关文章: 网友评论 查看全部评论 尚未有评论 我来说两句 评分 -5 -3 -1 - +1 +3 +5 内容 昵称 验证 提交评论 <area_article>

 

Comments Off

哈尔滨科研管理软件

哈尔滨奥斯软件有限公司(简称:奥斯软件)是专业的《科研管理系统》开发商,为“科研院所”行业提供专业的信息化解决方案。 “科研管理系统”包含10个子系统,通过协同工作流实现统一管理。并提供“设计,生产”等行业解决方案 1.计划管理:规划动态,计划指南,立项申报,立项审批,计划浏览; 2.项目管理:计划下达,编制任务书,任务细化,任务执行,中期检查,结题验收; 3.合同管理:合同分类,合同申报,合同台帐,合同审批,查询统计; 4.经费管理:全周期预算,小预算,实际开销,查询统计; 5.成果管理:项目成果,专利,论文,鉴定申办,奖励申办,专利申报,成果归档; 6.基建和条件建设项目管理:基建项目管理,设备管理,合同管理,资质管理; 7.综合管理:专家库,学协会管理(项目评审,会议,秘书处),政策法规,学术活动; 8.统计汇总管理:合同,项目,经费,成果等; 9.后台管理:工作流引擎,组织机构,用户,角色,权限,数据字典; 10.安全管理:CA身份验证,数据加密传输/存储,日志,自动备份等; 目前,哈尔滨奥斯软件不仅在软件开发上处于区域领先,行业领先,而且在软件后期服务上做到尽善尽美,让客户没有后顾之忧。在科研上选择奥斯,我们会与你一路同行。

奥斯有强大的研发队伍,有医疗,药品研发,工程设计等行业的博士,专家作为强大的科研软件研发背景,因为专业,所以卓越。 我们不仅能在软件领域给你创造附加价值,更能在专业领域进行咨询服务。

如果您有什么需要,请留言联系。或者留下您的联系方式。我们会及时与您沟通。

Comments Off