Самый быстрый способ пройти или найти элементы в DIV HTML - PullRequest
0 голосов
/ 23 декабря 2011

Я пишу утилиту, которая должна указывать URL-адрес динамической страницы, извлекать содержимое, искать определенный тег div в различных вложенных тегах div и захватывать содержимое.немного кода Java / библиотеки.JavaScript или некоторая библиотека на основе JavaScript также подойдут для меня.

Я внес в короткий список следующее -> JSoup, Jerry, JTidy (последнее обновление 2009-12-01)Какой из них наилучший по производительности?

Редактировать : Перефразировать вопрос.Добавлен короткий список lib.

Ответы [ 5 ]

2 голосов
/ 23 декабря 2011

Если вам нравится простой синтаксис jQuery, вы можете попробовать Джерри :

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 строки кода.

2 голосов
/ 23 декабря 2011

Если вы хотите почистить страницу и разобрать ее, я рекомендую использовать узел с 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

install jsdom:

$ npm install jsdom

Запустите этот скрипт, измененный с вашим URL и соответствующими селекторами:

var jsdom = require('jsdom');

jsdom.env({
    html: 'url',
    done: function(errors, window) {
        console.log(window.document.getElementById('foo').textContent;
    }
});
1 голос
/ 23 декабря 2011

Если то, что вам нужно, это двигатель выбора, то Sizzle - ваш лучший выбор Это двигатель, используемый jQuery.

1 голос
/ 23 декабря 2011

http://jtidy.sourceforge.net/

JTidy довольно хорошо разбирает DOM.

0 голосов
/ 23 декабря 2011

присвойте уникальный идентификатор каждому div и получите с помощью document.getElementById (id)

...