代码之家  ›  专栏  ›  技术社区  ›  Amit

如何将网页的HTML源转换成Java中的Or.W3C.DOM.文档?

  •  2
  • Amit  · 技术社区  · 14 年前

    如何将网页的HTML源转换成Java中的Or.W3C.DOM.DCONTRONTION?

    3 回复  |  直到 14 年前
        1
  •  1
  •   Seth    14 年前

    这实际上是一件相当困难的事情,因为任意的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)
    {
        ...
    }
    
    ...
    
        2
  •  2
  •   Ms2ger    14 年前

    我建议 http://about.validator.nu/htmlparser/ 实现了HTML5解析算法。火狐正在用这个来替换它自己的HTML解析器。

        3
  •  2
  •   DisgruntledGoat    14 年前

    我只是在玩 JSoup 这是一个很棒的Java HTML解析器,它有点像jQuery。非常容易使用。