Java:HTML解析
我有HTML内容,如下所示。 我在这里寻找的标签是"img src"
和"!important"
。 Java是否提供任何HTML解析技术?
String value = Jsoup.parse(new File("d:\\1.html"), "UTF-8").select("img").attr("src"); System.out.println(value); //http://socialimg04.rediff.com/image.php?uid=32868898&type=thumb System.out.println(Jsoup.parse(new File("d:\\1.html"), "UTF-8").select("span[style$=important;]").first().text());//android se updates...
- JSoup
- 什么-是最专业人士和保守派的最领先的Java,HTML的解析器
试试NekoHtml 。 这是各种高级测试框架(如HtmlUnit)使用的HTML解析库。
NekoHTML是一个简单的HTML扫描程序和标记平衡器,使应用程序员能够使用标准XML接口解析HTML文档并访问信息。 解析器可以扫描HTML文件并“修复”人类(和计算机)作者在编写HTML文档时所犯的许多常见错误。 NekoHTML添加了缺少的父元素; 自动关闭带有可选结束标记的元素; 并且可以处理不匹配的内联元素标记。
我使用了jsoup – 这个库有很好的选择器语法(http://jsoup.org/cookbook/extracting-data/selector-syntax),对于你的问题,你可以使用这样的代码:
File input = new File("input.html"); Document doc = Jsoup.parse(input, "UTF-8", "http://example.com/"); Elements pngs = doc.select("img[src$=.png]");
我喜欢使用杰里科: http : //jericho.htmlparser.net/docs/index.html
对于糟糕的html,链接导致不可用的位置等,它是无懈可击的。
他们的页面上有很多示例,您只需获取所有IMG标记并分析其属性即可提取满足您需求的标记。