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秒后跳 ...
随机推荐
- iOS--KVO的概述与使用
一.概述 KVO,即:Key-Value Observing,它提供一种机制,当指定的对象的属性被修改后,则对象就会接受到通知.简单的说就是每次指定的被观察的对象的属性被修改后,KVO就会自动通知相应 ...
- 通知、block
=================================== 通知 =================================== 一.通知(NSNotification) // N ...
- UIWebView保存网页中的图片(转载)
现在H5混合原生开发的方式越来越流行,也就要用到UIWebView控件.在开发过程中,我们可能会遇到一个需求,要求我们保存网页上的图片,当用户点击图片的时候,就可以让用户选择是否下载图片. 在系统自带 ...
- Hadoop学习
Hadoop: 大数据里面的公认的解决方案标准 链接推荐:http://www.powerxing.com/install-hadoop/ 第一天 Hadoop的基本概念 伪分布式集群安装 hdfs ...
- 教你开发asp.net的单点登录系统
单点登录系统,简称SSO.以下是我花了几个小时写的一个简单实现.特把实现思路和大家分享. 背景:某项目使用ASP.NET MemberShip来做会员系统,需要同时登录多个系统.而项目的开发人员无法在 ...
- Java中的Atomic包
Atomic包的作用 方便程序员在多线程环境下,无锁的进行原子操作 Atomic包核心 Atomic包里的类基本都是使用Unsafe实现的包装类,核心操作是CAS原子操作: 关于CAS compare ...
- Linux No volume control GStreamer plugins and/or devices found
案例环境:Oracle Linux Server release 5.7 进入Oracle Linux系统后,在右上角点击声音图标时,则会弹出如下报错窗口: The volume control di ...
- SLF4j:Log facade abstract
内 容: 应用中使用slf4j的工作流程 简单示例 ILoggerFactory实例化过程 由ILoggerFactory创建Logger实例 slf4j 适配器实现 自定义适配器 slf4j 如何选 ...
- C#:结构
1. 简单示例 // 定义结构 public struct Person { public string name; public int age; } class Program { static ...
- android 拔打电话功能
private void phoneCall(String num) { String phoneNum = "tel:" + num; Uri smsToUri = Uri.pa ...