jsoup解释html的script,jsoup-处理html中的script数据

该博客介绍了如何使用Java爬虫从ValueOnline网站抓取法律分类数据,并解析嵌入的脚本获取类型信息,包括分类ID、层级关系和名称,最后将数据插入到数据库中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/*** 价值在线数据-左边分类抓取

*http://www.valueonline.cn/laws/laws?typeid=96219074211635284*@authorhwaggLee*/

public classUtilsHtmValueonLineType {public static voidmain(String[] args) {

String url= "http://www.valueonline.cn/laws/laws?typeid=96219074211635284";

readHtml(url);

}public static ListreadHtml(String url){

List list = new ArrayList();//

Document doc = null;try{

doc=Jsoup.connect(url).get();

}catch(Exception e) {///e.printStackTrace();

System.out.println(e.getMessage()+":--------------->"+url);

}if( doc == null )returnlist;

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= newStringBuilder();

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());

}

}returnlist;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值