# webpage-resolve **Repository Path**: mouse0w0/webpage-resolve ## Basic Information - **Project Name**: webpage-resolve - **Description**: 一款简单灵活的页面HTML解析组件。基于json文档配置化解析页面元素,配置灵活简单。 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2016-03-17 - **Last Updated**: 2021-09-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #组件说明 基于jsoup封装的页面解析组件,在页面解析html页面方面非常小巧灵活,只需要定义json文件,配置好页面元素解析规则,即可解析出json格式的结果。非常容易实用 关键字:爬虫解析、html解析、文档提取。 ###使用简单,快速上手 只需要引入一个组件jar包,无需对每个html页面进行大量重复java代码解析提取工作,使用方便,两行java代码 + 一个json文件即可完成你的页面解析工作。 ###高度抽象封装,省去JAVA编码解析工作 传统的java解析页面需要在代码中编写大量的编码和对象组装工作,本组件将重复解析的工作全部进行了抽象封装,通过json文件配置的方式定义解析元素和解析方式,使用简单,省去大量编码维护工作。 ###配置扩展灵活,基于json文件配置解析元素 将java解析html元素的工作抽离出来,定义到json文件,可以方便开发调试,省去编译java class工作,一旦页面结构有变化,不需要重新编译部署,只需要修改json配置文件即可 #使用说明 1.引入依赖包,最新版本号参考仓库。 com.walker.component commons-webpage-resolve 1.0.0-SNAPSHOT 2.java使用示例。依赖包templates目录下有很多demo示例,基本涵盖了组件的所有功能。 @Test public void siteTest() { //初始化解析组件 PageResolve pageResolve = PageResolve.getInstance("templates"); //获取html内容 String url = "http://www.72g.com/news/newgame/list_5_2.html"; String content = JsoupUtils.getContent(url); //使用指定的json文件解析html内容 Object obj = pageResolve.parseHtml("site_72g_newgame_list", content); System.out.println(obj.toString()); } #API文档说明 页面元素查询解析器共有4种:StringQueryer,IntQueryer,DateQueryer,ListQueryer. GeneralQueryer:所有页面元素解析器的父类,定义了通用的属性。 _type: 页面查询解析器类型 string,int,date,list grep: 正则表达式,不为空时,需要有括号将正则表达式括起来,例如([1-9][0-9]{3}),适用于从解析的结果中提取特定的元素。 groupIndex: 正则表达式分组,数字类型 大于等于1 output:输出结果类型, outerhtml,owntext,html,text ,attr[xxx] cssQuery:css查询表达式 index:查询结果元素下标 trim:是否过滤空格,默认为true ####StringQueryer:解析结果为字符串类型的元素 defaultValue:默认值,没有匹配到值时可以指定,默认为空。 addBeforeValue:附加前缀值 addAfterValue:附加后缀值 ####IntQueryer:解析结果为数字类型的元素 ####DateQueryer:解析结果为日期类型的元素 showDefaultTime: true/false 没有匹配到时返回当前系统时间。 dateFormat:日期格式 ####ListQueryer:解析列表结构的数据 cssQuery index mapper:list结构体