【发布时间】:2011-01-18 20:50:20
【问题描述】:
如何将网页的 Html 源代码转换为 org.w3c.dom.Documentin Java?
【问题讨论】:
如何将网页的 Html 源代码转换为 org.w3c.dom.Documentin Java?
【问题讨论】:
我刚刚玩过JSoup,这是一个很棒的Java HTML 解析器,工作起来有点像jQuery。真的很容易使用。
【讨论】:
我建议http://about.validator.nu/htmlparser/,它实现了HTML5解析算法。 Firefox 正在用这个替换它自己的 HTML 解析器。
【讨论】:
这实际上是一件相当困难的事情,因为任意 HTML 网页有时格式错误(主要浏览器都相当宽容)。您可能想查看swing html parser,我从未尝试过,但看起来它可能是最好的选择。您也可以尝试类似的方法并处理可能出现的任何解析异常(尽管我只为 xml 尝试过):
import java.io.File;
import org.w3c.dom.Document;
import org.w3c.dom.*;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
...
try {
DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
Document doc = docBuilder.parse (InputStreamYouBuiltEarlierFromAnHTTPRequest);
}
catch (ParserConfigurationException e)
{
...
}
catch (SAXException e)
{
...
}
catch (IOException e)
{
...
}
...
【讨论】: