在DIV HTML中遍历或查找元素的最快方式

Fastest way to traverse or find elements in DIV HTML

本文关键字:元素 方式 查找 DIV HTML 遍历      更新时间:2023-09-26

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

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

我的候选名单如下-> JSoup, Jerry, JTidy(最后更新于2009-12-01)。哪一个性能最好?

编辑:改写问题。新增入围库

如果您想抓取页面并解析它,我建议使用node with jsdom。

install 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;
    }
});

如果你喜欢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行代码中解决您的问题。

http://jtidy.sourceforge.net/

JTidy非常擅长解析DOM。

如果你追求的是一个选择器引擎,那么Sizzle是你最好的选择。这是jQuery使用的引擎

给出每个div的唯一id,并使用document.getElementById(id)