博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
正文提取算法
阅读量:6293 次
发布时间:2019-06-22

本文共 2391 字,大约阅读时间需要 7 分钟。

hot3.png

自己写的一个正文提取算法,在三个网站上测试没问题

需要使用第三方的jar jsoup

 

package com.extract;import java.io.File;import java.io.IOException;import org.apache.commons.io.FileUtils;import org.jsoup.Jsoup;import org.jsoup.nodes.Document;import org.jsoup.nodes.Element;import org.jsoup.select.Elements;public class ExtractNovel {	public static void main(String[] args) throws IOException {		//dijiuzww.com		String test = FileUtils				.readFileToString(new File("C://Users//Administrator//Desktop//sina.com"));//		String test = FileUtils//				.readFileToString(new File("C://Users//Administrator//Desktop//testextaractContent.txt"));//			Document doc = Jsoup.parse(test);		doc = denoiseElementForDoc(doc);		// System.out.println(doc.text());		int size = doc.text().length();		Element e = doc.getAllElements().get(0);		Element target[] = new Element[1];		check(e,size);		}		public static void check(Element e, float size) {		Element son = findRealSon(e, size);		System.out.println(son.toString());		System.out.println(son.text());	}			public static Element findRealSon(Element e, float size) {		Elements els = e.children();		Element son = null;		for (Element tempson : els) {			float length = tempson.text().length();			if (length / size > 0.75) {				Element element = findRealSon(tempson, size);				if(element ==null){					son =  tempson;					return son;				}else{					son = element;				}			}		}		return son;					}		public static Document denoiseElementForDoc(Document document) {		document.getElementsByTag("script").remove();		document.getElementsByTag("style").remove();		document.getElementsByTag("select").remove();		document.getElementsByTag("link").remove();		document.getElementsByTag("input").remove();		document.getElementsByTag("object").remove();		document.getElementsByTag("textarea").remove();		 		document.getElementsByTag("ul").remove();		document.getElementsByTag("img").remove();		document.getElementsByTag("a").attr("href", "javascript:void(0)").remove();		document.getElementsByAttributeValue("display", "none").remove();		 		document.getElementsByAttributeValueStarting("class", "foot").remove();		document.getElementsByAttributeValue("class", "settings").remove();		document.getElementsByAttributeValueContaining("style", "display:none").remove();		document.getElementsByAttributeValueContaining("style", "overflow: hidden").remove();		return document;	}}

 

转载于:https://my.oschina.net/u/1246109/blog/849669

你可能感兴趣的文章
@RequestMapping 用法详解之地址映射
查看>>
254页PPT!这是一份写给NLP研究者的编程指南
查看>>
《Data Warehouse in Action》
查看>>
String 源码浅析(一)
查看>>
Spring Boot 最佳实践(三)模板引擎FreeMarker集成
查看>>
Fescar 发布 0.2.3 版本,支持 Redis 和 Apollo
查看>>
Google MapReduce到底解决什么问题?
查看>>
CCNP-6 OSPF试验2(BSCI)
查看>>
Excel 2013 全新的图表体验
查看>>
openstack 制作大于2TB根分区自动扩容的CENTOS镜像
查看>>
Unbuntu安装遭遇 vmware上的Easy install模式
查看>>
几个常用的ASP木马
查看>>
python分析postfix邮件日志的状态
查看>>
Mysql-5.6.x多实例配置
查看>>
psutil
查看>>
在git@osc上托管自己的代码
查看>>
机器学习算法:朴素贝叶斯
查看>>
小五思科技术学习笔记之扩展访问列表
查看>>
使用Python脚本检验文件系统数据完整性
查看>>
使用MDT部署Windows Server 2003 R2
查看>>