jsoup-处理html中的script数据
/**
* 价值在线数据-左边分类抓取
* http://www.valueonline.cn/laws/laws?typeid=96219074211635284
* @author hwaggLee
*/
public class UtilsHtmValueonLineType { public static void main(String[] args) {
String url = "http://www.valueonline.cn/laws/laws?typeid=96219074211635284";
readHtml(url);
} public static List<Object> readHtml(String url){
List<Object> list = new ArrayList<Object>();
//
Document doc = null;
try {
doc = Jsoup.connect(url).get();
} catch (Exception e) {
///e.printStackTrace();
System.out.println(e.getMessage()+":--------------->"+url);
}
if( doc == null )return list;
Elements elScripts = doc.getElementsByTag("script");
String[] elScriptList = elScripts.get(0).data().toString().split("var");
String strTypeList = elScriptList[2];
if( StringUtils.isNotBlank(strTypeList)){
/*strTypeList = strTypeList.substring(strTypeList.indexOf("["), strTypeList.lastIndexOf("]")+1);
JSONArray array = JSONArray.fromObject(strTypeList);
JSONArray arrayList = JSONArray.fromObject(array.get(0));
for (Object o : arrayList) {
JSONObject object = JSONObject.fromObject(o);
StringBuilder sb = new StringBuilder();
sb.append("insert into n3b_vl_plate_type values ");
sb.append(" ( ");
sb.append("'"+object.get("id")+"'");
sb.append(",'"+object.get("parentId")+"'");
sb.append(","+object.get("level")+"");
sb.append(",'"+object.get("declareTypeName")+"'");
sb.append(",'"+object.get("declareTypeNo")+"'");
sb.append(",'"+object.get("validFlag")+"'");
sb.append(","+object.get("oftenFlag")+"");
sb.append(",'"+object.get("showTypeName")+"'");
sb.append(" ); ");
System.out.println(sb.toString());
}*/
} strTypeList = elScriptList[3];
System.out.println(strTypeList);
if( StringUtils.isNotBlank(strTypeList) ){
strTypeList = strTypeList.substring(strTypeList.indexOf("["), strTypeList.lastIndexOf("]")+1);
JSONArray arrayList = JSONArray.fromObject(strTypeList);
for (Object o : arrayList) {
JSONObject object = JSONObject.fromObject(o);
StringBuilder sb = new StringBuilder();
sb.append("insert into n3b_vl_market_type values ");
sb.append(" ( ");
sb.append("'0"+object.get("code_value")+"'");
sb.append(",'"+object.get("code_name")+"'");
sb.append(",'"+object.get("code_no")+"'");
sb.append(",'"+object.get("code_value")+"'");
sb.append(",'"+object.get("valid_flag")+"'");
sb.append(",'"+object.get("version")+"'");
sb.append(",'"+object.get("code_type")+"'");
sb.append(" ); ");
System.out.println(sb.toString());
}
}
return list;
} }
jsoup-处理html中的script数据的更多相关文章
- ASP.NET MVC搭建项目后台UI框架—8、将View中选择的数据行中的部分数据传入到Controller中
目录 ASP.NET MVC搭建项目后台UI框架—1.后台主框架 ASP.NET MVC搭建项目后台UI框架—2.菜单特效 ASP.NET MVC搭建项目后台UI框架—3.面板折叠和展开 ASP.NE ...
- dataTransfer.getData()在dragover,dragenter,dragleave中无法获取数据的问题
做拖拽相关效果时,想在ondragover时给被拖拽元素添加一些样式,于是在dragover事件的函数中通过dataTransfer.getData()获取在dragstart中设置的数据,然而发现d ...
- .SQL Server中 image类型数据的比较
原文:.SQL Server中 image类型数据的比较 在SQL Server中如果你对text.ntext或者image数据类型的数据进行比较.将会提示:不能比较或排序 text.ntext 和 ...
- [翻译]比较ADO.NET中的不同数据访问技术(Performance Comparison:Data Access Techniques)
Performance Comparison: Data Access Techniques Priya DhawanMicrosoft Developer Network January 2002 ...
- View中选择的数据行中的部分数据传入到Controller中
将View中选择的数据行中的部分数据传入到Controller中 ASP.NET MVC搭建项目后台UI框架—1.后台主框架 ASP.NET MVC搭建项目后台UI框架—2.菜单特效 ASP.NE ...
- vue中什么样的数据可以是在视图中显示
1. Vue中不可以添加不存在的属性,因为不存在的属性是没有getter和setter的. <div id="app"> {{msg.a}} {{msg.b}} < ...
- vue中如何实现数据的双向绑定
vue中如何实现数据的双向绑定 实现视图变化数据跟着变:分两步,上面get中的为第二步(即再次读取的时候会调用get方法得到之前设置的值,以此来实现动态改变) 由于直接写obj.name = this ...
- JavaScript 中的所有数据都是以 64 位浮点型数据(float) 来存储。浮点型数据使用注意事项。全局变量特殊之处
JavaScript 中的所有数据都是以 64 位浮点型数据(float) 来存储. 所有的编程语言,包括 JavaScript,对浮点型数据的精确度都很难确定: <!DOCTYPE html& ...
- Java WEB中的HttpServletResponse数据传递
1.什么是HttpServletResponse 2.使用HttpServletResponse向浏览器发送数据及相关实例. 实例1:实现文件下载功能 实例2:实现验证码注册 实例3:实现页面3秒后跳 ...
随机推荐
- 2016最新cocoapods安装流程,安装过程中遇到的问题及解决方法
现在的cocoapods与之前比较.有很多不一样的地方.自己试了一试,终于搞定.现在大概纪录一下. 1.首先查看ruby是否是最新版的. ruby是通过rvm安装的所以需要先安装rvm后查看ruby是 ...
- iOS 学习 - 24 全局跑马灯,支持后台回到前台
思路: 1.创建一个单例 + (instancetype)shareManager { static CCPaomaView *pModel = nil; static dispatch_once_t ...
- iOS-多线程之GCD(原创)
前言 GCD 全称 Grand Central DisPath NSOperation便是基于GCD的封装 基础知识 1.GCD的优势 (1)为多核的并行运算提出了解决方案 (2)GCD会自动利用更多 ...
- Ignite 配置更新Oracle JDBC Drive
如果使用Oracle 12C 作为Ignite 的Repository的话,在Repository Createion Wizard的配置过程中,会出现ORA-28040:No matc ...
- SQL SERVER 2012 从Enterprise Evaluation Edtion 升级到 Standard Edtion SP1
案例背景:公司从意大利购买了一套中控系统,前期我也没有参与其中(包括安装.实施都是第三方),直到最近项目负责人告诉我:前期谈判以为是数据库的License费用包含在合同中,现在经过确认SQL Serv ...
- 使用jsonp跨域调用百度js实现搜索框智能提示,并实现鼠标和键盘对弹出框里候选词的操作【附源码】
项目中常常用到搜索,特别是导航类的网站.自己做关键字搜索不太现实,直接调用百度的是最好的选择.使用jquery.ajax的jsonp方法可以异域调用到百度的js并拿到返回值,当然$.getScript ...
- DbVisualizer连接hbase
1.添加phoneix驱动 (1).点击Tools--->Driver Manager- (2).新建一个驱动,名称为phoenix(名称随意),选择phoenix的客户端驱动,驱动类如图所示 ...
- Linux的主机规划和磁盘分区
选择与Linux搭配的主机配置 CPU 只要不是老旧到让你的硬件系统死机的都能够支持 RAM 内存越大越好,内存的重要性要比CPU还要高,至少512MB Hard Disk 由于数据量与数据的访问频 ...
- Java日志框架:SLF4J,Common-Logging,Log4J,Logback说明
Log4j Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台.文件.GUI组件.甚至是套接口服务 器.NT的事件记录器.UNIX Syslog守护进程等 ...
- sk_buff 里的len, data_len, skb_headlen
http://blog.csdn.net/kakadiablo/article/details/7948414 struct sk_buff *skb; skb->len 是data长度,包含所 ...