Java如何实现基于模板的网页结构化信息精准抽取组件HtmlExtractor
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,今天就跟大家聊聊有关Java如何实现基于模板的网页结构化信息精准抽取组件HtmlExtractor,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获
千家信息网最后更新 2025年12月01日Java如何实现基于模板的网页结构化信息精准抽取组件HtmlExtractor
今天就跟大家聊聊有关Java如何实现基于模板的网页结构化信息精准抽取组件HtmlExtractor,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
HtmlExtractor是一个Java实现的基于模板的网页结构化信息精准抽取组件,本身并不包含爬虫功能,但可被爬虫或其他程序调用以便更精准地对网页结构化信息进行抽取。
HtmlExtractor是为大规模分布式环境设计的,采用主从架构,主节点负责维护抽取规则,从节点向主节点请求抽取规则,当抽取规则发生变化,主节点主动通知从节点,从而能实现抽取规则变化之后的实时动态生效。
如何使用?
HtmlExtractor由2个子项目构成,html-extractor和html-extractor-web。html-extractor实现了数据抽取逻辑,是从节点,html-extractor-web提供web界面来维护抽取规则,是主节点。html-extractor是一个jar包,可通过maven引用:
org.apdplat html-extractor 1.0
html-extractor-web是一个war包,需要部署到Servlet/Jsp容器上。
单机集中式使用方法:
//1、构造抽取规则ListurlPatterns = new ArrayList<>();//1.1、构造URL模式UrlPattern urlPattern = new UrlPattern();urlPattern.setUrlPattern("http://money.163.com/\\d{2}/\\d{4}/\\d{2}/[0-9A-Z]{16}.html");//1.2、构造HTML模板HtmlTemplate htmlTemplate = new HtmlTemplate();htmlTemplate.setTemplateName("网易财经频道");htmlTemplate.setTableName("finance");//1.3、将URL模式和HTML模板建立关联urlPattern.addHtmlTemplate(htmlTemplate);//1.4、构造CSS路径CssPath cssPath = new CssPath();cssPath.setCssPath("h2");cssPath.setFieldName("title");cssPath.setFieldDescription("标题");//1.5、将CSS路径和模板建立关联htmlTemplate.addCssPath(cssPath);//1.6、构造CSS路径cssPath = new CssPath();cssPath.setCssPath("div#endText");cssPath.setFieldName("content");cssPath.setFieldDescription("正文");//1.7、将CSS路径和模板建立关联htmlTemplate.addCssPath(cssPath);//可象上面那样构造多个URLURL模式urlPatterns.add(urlPattern);//2、获取抽取规则对象ExtractRegular extractRegular = ExtractRegular.getInstance(urlPatterns);//注意:可通过如下3个方法动态地改变抽取规则//extractRegular.addUrlPatterns(urlPatterns);//extractRegular.addUrlPattern(urlPattern);//extractRegular.removeUrlPattern(urlPattern.getUrlPattern());//3、获取HTML抽取工具HtmlExtractor htmlExtractor = HtmlExtractor.getInstance(extractRegular);//4、抽取网页String url = "http://money.163.com/08/1219/16/4THR2TMP002533QK.html";List extractResults = htmlExtractor.extract(url, "gb2312");//5、输出结果int i = 1;for (ExtractResult extractResult : extractResults) { System.out.println((i++) + "、网页 " + extractResult.getUrl() + " 的抽取结果"); for(ExtractResultItem extractResultItem : extractResult.getExtractResultItems()){ System.out.print("\t"+extractResultItem.getField()+" = "+extractResultItem.getValue()); } System.out.println("\tdescription = "+extractResult.getDescription()); System.out.println("\tkeywords = "+extractResult.getKeywords());}
多机分布式使用方法:
1、运行主节点,负责维护抽取规则: 将子项目html-extractor-web打成War包然后部署到Tomcat。2、获取一个HtmlExtractor的实例(从节点),示例代码如下:
String allExtractRegularUrl = "http://localhost:8080/HtmlExtractorServer/api/all_extract_regular.jsp";String redisHost = "localhost";int redisPort = 6379;HtmlExtractor htmlExtractor = HtmlExtractor.getInstance(allExtractRegularUrl, redisHost, redisPort);
3、抽取信息,示例代码如下:
String url = "http://money.163.com/08/1219/16/4THR2TMP002533QK.html";ListextractResults = htmlExtractor.extract(url, "gb2312");int i = 1;for (ExtractResult extractResult : extractResults) { System.out.println((i++) + "、网页 " + extractResult.getUrl() + " 的抽取结果"); for(ExtractResultItem extractResultItem : extractResult.getExtractResultItems()){ System.out.print("\t"+extractResultItem.getField()+" = "+extractResultItem.getValue()); } System.out.println("\tdescription = "+extractResult.getDescription()); System.out.println("\tkeywords = "+extractResult.getKeywords());}
看完上述内容,你们对Java如何实现基于模板的网页结构化信息精准抽取组件HtmlExtractor有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。
抽取
节点
规则
模板
网页
信息
精准
结构
结构化
路径
组件
内容
方法
模式
结果
关联
代码
使用方法
分布式
动态
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
hypermill宏数据库
河北纳税申报服务器地址
无线网络安全手抄报设计
文化衫设计软件开发
东华大学数据库2019
服务器后面光口标识
职业学院软件开发工资一般多少
盛大云币网络技术有限公司
征集工信部网络安全技术应用
公安网络安全咨询电话
网络安全管理方面
华为5g网络安全合作企
数据库技术噶个阶段的特点
cs 服务器ip
关于国家网络安全日的手抄报
智森计算机软件开发有限公司
数据库时分秒符号
河北工业软件开发制造价格
网络安全值班报告
山东智慧医养软件开发公司
创新煤矿网络安全监管
汐诚网络技术工作室
用数据库i怎么存图片
数据库查询特定位数id
fm2021 1112数据库
明日之后大神在哪个服务器
软件开发专业怎么样呀
数据库字段前缀
海口市网络安全技术部
frp服务器搭建web脚本