Java:HTML解析

Java:HTML解析,java,html-parsing,Java,Html Parsing,我有下面给出的HTML内容。我在这里寻找的标签是“img src”和“!important”。Java是否提供任何HTML解析技术 <fieldset> <table cellpadding='0'border='0'cellspacing='0'style="clear :both"> <tr valign='top' ><td width='35' > <a href='http://mypage.rediff.com/android/3

我有下面给出的HTML内容。我在这里寻找的标签是
“img src”
“!important”
。Java是否提供任何HTML解析技术

<fieldset>
<table cellpadding='0'border='0'cellspacing='0'style="clear :both">
<tr valign='top' ><td width='35' >
<a href='http://mypage.rediff.com/android/32868898'class='space' onmousedown="return
 enc(this,'http://track.rediff.com/clickurl=___http%3A%2F%2Fmypage.rediff.com%2Fandroid%2F3 868898___&service=mypage_feeds&clientip=202.137.232.117&pos=0&feed_id=12942949154d255f839677925642&prc_id=32868898&rowid=2064549114')" >
<div style='width:25px;height:25px;overflow:hidden;'>
<img src='http://socialimg04.rediff.com/image.php?uid=32868898&type=thumb'  width='25'  vspace='0'  /></div></a></td> <td><span>
<a href='http://mypage.rediff.com/android/32868898'  class="space" onmousedown="return enc(this,'http://track.rediff.com/click?url=___http%3A%2F%2Fmypage.rediff.com%2Fandroid%2F32868898___&service=mypage_feeds&clientip=202.137.232.117&pos=0&feed_id=12942949154d255f839677925642&prc_id=32868898&rowid=2064549114')" >Android </a> </span><span style='color:#000000
!important;'>android se updates...</span><div class='divtext'></div></td></tr><tr><td height='5' ></td></tr></table></fieldset><br/>

android se更新…
试试看。这是各种高级测试框架(如HtmlUnit)使用的HTML解析库

NekoHTML是一个简单的HTML扫描仪和标记平衡器,它使应用程序程序员能够解析HTML文档并使用标准XML接口访问信息。解析器可以扫描HTML文件并“修复”人类(和计算机)作者在编写HTML文档时犯的许多常见错误。NekoHTML添加缺少的父元素;使用可选的结束标记自动关闭图元;并且可以处理不匹配的内联元素标记

试试看。这是各种高级测试框架(如HtmlUnit)使用的HTML解析库

NekoHTML是一个简单的HTML扫描仪和标记平衡器,它使应用程序程序员能够解析HTML文档并使用标准XML接口访问信息。解析器可以扫描HTML文件并“修复”人类(和计算机)作者在编写HTML文档时犯的许多常见错误。NekoHTML添加缺少的父元素;使用可选的结束标记自动关闭图元;并且可以处理不匹配的内联元素标记

我用过-这个库有很好的选择器语法(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://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]");
我喜欢使用杰里科:

它不受格式错误的html、指向不可用位置的链接等的影响

他们的页面上有很多示例,您只需获取所有IMG标记并分析它们的属性,就可以提取出满足您需求的内容。

我喜欢使用Jericho:

它不受格式错误的html、指向不可用位置的链接等的影响


他们的页面上有很多例子,你只需要得到所有的IMG标签并分析它们的属性,就可以提取出符合你需要的内容。

@c0mrade他在标题、问题和标签中说Java。@马可人经常把这两种内容混在一起,所以我只是仔细检查一下that@c0mrade他在标题中说Java,问题和标签。@马可人经常把这两种东西混在一起,所以我只是重复检查一下,没有什么害处。对于重要的部分,请澄清问题有一个重要的标签,其中包含一个文本,我需要获取。在您提供的html中,我看不到任何
重要的
标记,对于重要部分,请澄清问题有一个包含文本的重要标记,我需要获取它。在您为“重要”提供的html中,我看不到任何
important
标记。请使用以下代码:doc.getElementsByAttributeValueMatching(字符串键,字符串正则表达式)。在您的案例中,键是“style”(span style=“…!important”),regex是“(!important)”表示“important”,请使用以下代码:doc.getElementsByAttributeValueMatching(String key,String regex)。在本例中,键是“style”(span style=“…!important”),正则表达式是“(!important)”