提取新闻正文
2014-01-08 22:43
281 查看
参考了好多人的算法,但感觉太深奥了,自己写了一个,感觉效果还可以,不过还是有很多杂质在里面
成功率没有测试过,以后校验。
测试例子,感觉效果还不错:
![](http://images.cnitblog.com/blog/483523/201401/082237429576.jpg)
![](http://images.cnitblog.com/blog/483523/201401/082238444100.jpg)
![](http://images.cnitblog.com/blog/483523/201401/082239126131.jpg)
成功率没有测试过,以后校验。
public static String extractContent(String url) { Document document = JsoupUitl.readUrl(url); String orderHtml = document.toString().toLowerCase(); orderHtml = orderHtml.replaceAll("(?is)<!DOCTYPE.*?>", ""); orderHtml = orderHtml.replaceAll("(?is)<!--.*?-->", ""); // remove html orderHtml = orderHtml.replaceAll("(?is)<script.*?>.*?</script>", ""); // remove orderHtml = orderHtml.replaceAll("(?is)<style.*?>.*?</style>", ""); // remove orderHtml = orderHtml.replaceAll("(?is)<a.*?>.*?</a>", ""); // remove orderHtml = orderHtml.replaceAll("&.{2,5};|.{2,5};", ""); orderHtml = orderHtml.replaceAll("<(?!\\/?(td|tr|img|br|p)).*?>", ""); String[] eleList = orderHtml.split("\n"); StringBuffer sb = new StringBuffer(); for (String string : eleList) { if (string.trim().length() > 20) { if (string.contains("></p>")) { } else { sb.append(string); } } } orderHtml = sb.toString(); // System.out.println("====================================="); // System.out.println(Jsoup.parse(orderHtml)); return orderHtml; }
测试例子,感觉效果还不错:
![](http://images.cnitblog.com/blog/483523/201401/082237429576.jpg)
![](http://images.cnitblog.com/blog/483523/201401/082238444100.jpg)
![](http://images.cnitblog.com/blog/483523/201401/082239126131.jpg)
![](http://images.cnitblog.com/blog/483523/201401/082239592698.jpg)
相关文章推荐
- Linux下添加新硬盘,分区及挂载
- PHP 文件与目录操作函数总结
- spring学习笔记(三)
- Face++ 制作样本
- 菜鸟读jQuery 2.0.3 源码分析系列(1)
- hdu 4021 24 Puzzle
- (PAT)1005. Spell It Right (20)
- 周鸿祎:如何成为一名优秀的产品经理?
- ZOJ-2306
- 数据库——游标
- HTTP协议与HTML form
- VBA常用属性整理(入门)(1)
- 如何分析并构造cacheurl正则实现视频缓存
- C+队列
- 2014年关于Linux的三大预测
- KDE Frameworks 5 技术预览版发布
- Linux Deepin新增阿里云镜像服务
- 经济学博士的房市六大问
- 关于javascript中对浮点加,减,乘,除的精度分析
- oracle10G 在 CENTOS 5.5下安装