【问题标题】:Fastest way to traverse or find elements in DIV HTML在 DIV HTML 中遍历或查找元素的最快方法
【发布时间】:2011-12-23 09:07:43
【问题描述】:

我正在编写一个实用程序,它应该点击动态页面的 URL,检索内容,在各种嵌套的 div 标签中搜索特定的 div 标签并获取内容。

主要是,我正在寻找一些 Java 代码/库。 JavaScript 或一些基于 JavaScript 的库也适用于我。

我入围以下 -> JSoup、Jerry、JTidy(最后更新于 2009-12-01)。哪一个性能最好?

编辑:重新表述问题。添加了入围库。

【问题讨论】:

    标签: java javascript html jsoup jtidy


    【解决方案1】:

    如果你想抓取页面并解析它,我建议使用带有 jsdom 的节点。

    安装nodeJS(假设是linux):

    sudo apt-get install git
    cd ~
    git clone git://github.com/joyent/node
    cd node
    git checkout v0.6
    mkdir ~/.local # If it doesn't already exist
    ./configure --prefix=~/.local
    make
    make install
    

    还有一个windows安装程序:http://nodejs.org/dist/v0.6.6/node-v0.6.6.msi

    安装jsdom:

    $ npm install jsdom
    

    运行使用您的 url 和相关选择器修改的脚本:

    var jsdom = require('jsdom');
    
    jsdom.env({
        html: 'url',
        done: function(errors, window) {
            console.log(window.document.getElementById('foo').textContent;
        }
    });
    

    【讨论】:

      【解决方案2】:

      如果你喜欢 jQuery 的简单语法,可以试试Jerry

      Jerry is a jQuery in Java. Jerry is a fast and concise Java Library that simplifies HTML document parsing, traversing and manipulating.
      Jerry is designed to change the way that you parse HTML content.
      

      语法似乎很简单。 它应该可以用最多 3 行代码解决您的问题。

      【讨论】:

        【解决方案3】:

        http://jtidy.sourceforge.net/

        JTidy 非常擅长解析 DOM。

        【讨论】:

          【解决方案4】:

          如果您追求的是选择器引擎,那么Sizzle 是您的最佳选择。它是 jQuery 使用的引擎。

          【讨论】:

            【解决方案5】:

            为每个 div 提供唯一的 id 并使用 document.getElementById(id) 获取

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2021-11-18
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2018-01-06
              • 1970-01-01
              • 2014-02-25
              • 2017-12-04
              相关资源
              最近更新 更多