相关疑难解决方法(0)

哪个HTML Parser最好?

我编写了很多解析器.到目前为止,我使用HtmlUnit无头浏览器进行解析和浏览器自动化.

现在,我想分开两个任务.

由于80%的工作只涉及解析,我想使用轻量级HTML解析器,因为在HtmlUnit中首先加载页面需要花费很多时间,然后获取源然后解析它.

我想知道哪个HTML解析器是最好的.如果它接近HtmlUnit解析器,解析器会更好.


编辑:

最好的,我至少需要以下功能:

  1. 速度
  2. 通过"id"或"name"或"tag type"轻松找到任何HtmlElement.

如果它不清除脏HTML代码,那对我来说没问题.我不需要清理任何HTML源代码.我只需要一种最简单的方法来移动HtmlElements并从中获取数据.

html java parsing html-parsing web-scraping

187
推荐指数
3
解决办法
17万
查看次数

无法使用document.getElementById获取元素,返回null

我试图从一个文件中获取一个html节点,该文件稍后将用于计算其所有后代.我在从DOM中检索元素时遇到问题.这是我到目前为止所采取的步骤.

首先是我的HTML代码:

<html>
<head>
    <title></title>
</head>
<body>
<div id="container">
    <a></a>
    <div id="header">
        <div id="firstchild">
            <div>
                <img></img>
            </div>
            <a></a>
            <ul>
                <li>
                    <a>Inbox</a>
                </li>
                <li>
                    <a>Logout</a>
                </li>
            </ul>
            <form></form>
        </div>
        <div id="nextsibling"></div>
    </div>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

其次,我构建了这个函数,它将文件返回并解析为文档.

public static Document buildDocument(String file){
    try {
        DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
        DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
        Document document = docBuilder.parse(file);
        return document;
    } catch (ParserConfigurationException | SAXException | IOException ex) {
        System.out.println("the exception is: " + ex.toString());
    }
    return null;
}
Run Code Online (Sandbox Code Playgroud)

接下来在我的main方法中,我尝试通过getElementById将Node对象设置为文档elemet,如:

public Document doc = …
Run Code Online (Sandbox Code Playgroud)

html javascript java parsing dom

4
推荐指数
1
解决办法
8971
查看次数

标签 统计

html ×2

java ×2

parsing ×2

dom ×1

html-parsing ×1

javascript ×1

web-scraping ×1