题
什么是Java中最简单的方法来检索一个畸形的HTML页面与某种类型的所有元素?所以,我想要做的是这样的:
public static void main(String[] args) {
// Read in an HTML file from disk
// Retrieve all INPUT elements regardless of whether the HTML is well-formed
// Loop through all elements and retrieve their ids if they exist for the element
}
解决方案
HtmlCleaner 是说是最好的HTML解析器在那里的一个,当涉及到处理(有点)不良HTML
文档是一些代码样本这里;你基本上是寻找getElementsByName()
方法。
看一看爪哇HTML解析器对比如果你正在考虑其他库。
其他提示
我一直使用 tagsoup 取得了成功。继承人从它们的首页的简短描述:
这是TagSoup,用Java编写的符合SAX解析器,代替解析合式的或有效的XML,因为它是在野外发现解析HTML主页:贫穷,肮脏和粗野,虽然经常远远短。 TagSoup是专为谁拥有使用合理的应用程序设计的一些假象来处理这些东西的人。通过提供一个SAX接口,它允许标准的XML工具被应用到甚至最坏的HTML。 TagSoup还包括一个命令行处理器读取HTML文件,并可以生成或者清洁HTML或良好的XML这是一个近似于XHTML。
检查 Jtidy 。
JTidy是HTML整洁的一个Java端口, HTML语法检查和漂亮 打印机。就像它的非Java表弟, JTidy可以作为一种工具 清理恶意和错误的HTML。 此外,JTidy提供了一个DOM 接口是文档 正处理,从而有效地 让你能够使用JTidy的DOM 解析器,用于现实世界的HTML。
不隶属于 StackOverflow