Jsoup解析html某片段的问题
来源:互联网 发布:青云志网络总播放量 编辑:程序博客网 时间:2024/05/18 03:48
- 案例
- 问题分析
- 解决办法
案例
在使用jsoup解析html中的某部分片段时,有时候会遇到解析不出字段。下面以案例进行讲解。
<tr> <td class='center'> <font class='blue'> 北京 </font> </td> <td> 36175 </td> <td> 2.03 </td></tr><tr> <td class='center'> <font class='blue'> 盐城 </font> </td> <td> 5466 </td> <td> -0.26 </td></tr>
这是一段html中的字段,我在解析该字段时,无法获得其中的信息。如下是解析代码。
//html为带解析的片段 Document document=Jsoup.parse(html); Elements elements=document.select("tr"); for (Element ele:elements) { String city=ele.select("td[class=center]").text(); int price=Integer.parseInt(ele.select("td").get(1).text()); double rose=Float.parseFloat(ele.select("td").get(2).text())*0.01; System.out.println(city); }
运行程序发现根本没办法获取内容。
问题分析
原来在解析html片段时,Jsoup自动将其补全为html。由于上面的形式是表格里面的一部分内容,所有需要补全。但Jsoup只会添加 信息,而且有可能会把一些信息删除。
如下,为上面html片段,补充的后果。这对解析没有什么帮助。
<html> <head></head> <body> <font class="blue">北京</font>361752.03 <font class="blue">盐城</font>5466-0.26 </body></html>
解决办法
将表格对应的标签补齐。
String cc="<html> <body> <table> <tbody>"+html.replace("{\"data\":\"", "").replace("\"}", "")+"</tbody> </table> </body> </html>"; Document document=Jsoup.parse(cc); Elements elements=document.select("tr"); System.out.println(document); for (Element ele:elements) { String city=ele.select("td[class=center]").text(); int price=Integer.parseInt(ele.select("td").get(1).text()); double rose=Float.parseFloat(ele.select("td").get(2).text())*0.01; System.out.println(city); }
这就没问题,成功解决。
0 0
- Jsoup解析html某片段的问题
- jsoup对Html的解析
- jsoup,html解析的利器
- Jsoup库,HTML的解析
- Java 的HTML 解析器-jsoup
- java-jsoup解析html页面的内容
- java-jsoup解析html页面的内容
- Jsoup解析html的一些使用技巧
- java 解析 html 的利器-->jsoup
- Jsoup 一款Java的HTML解析器
- Jsoup解析html的基本用法
- 利用Jsoup进行简单的HTML解析
- Html解析之Jsoup的使用
- HTML解析库--Jsoup的基本使用
- 【Java Utility】Jsoup网页爬虫工具--解析HTML语句片段【四】
- HTML解析器 jsoup
- HTML解析器 jsoup
- jsoup 解析 html 学习
- 通过CSS实现颜色渐变
- cocos2dx cocos2dx 3.x 公告栏 通知栏 滚动字幕 区域弹幕 区域显示 实现
- 关于java内部类的继承的一个小问题
- node编写服务器与传统服务器Apache、IIS区别
- Gson入门篇——常用用法
- Jsoup解析html某片段的问题
- 909422229________Web分页技术
- 苏嵌29 16.12.09
- redis lua脚本学习笔记math.random()获取随机数
- java io总结
- linux版本的 eclipse如何查看ADT版本,安装、卸载、更新eclipse中的ADT
- 架构设计:系统存储(8)——MySQL数据库性能优化(4)
- AD与DA术语解释
- 注册登录页面 (Java+MySQL)