我正在编写一个实用程序,它应该点击动态页面的 URL,检索内容,在各种嵌套的 div 标签中搜索特定的 div 标签并获取内容。
主要是,我正在寻找一些 Java 代码/库。JavaScript 或一些基于 JavaScript 的库也适用于我。
我入围以下 -> JSoup、Jerry、JTidy(最后更新于 2009-12-01)。哪一个是最好的性能明智的?
编辑:改写问题。添加了入围库。
我正在编写一个实用程序,它应该点击动态页面的 URL,检索内容,在各种嵌套的 div 标签中搜索特定的 div 标签并获取内容。
主要是,我正在寻找一些 Java 代码/库。JavaScript 或一些基于 JavaScript 的库也适用于我。
我入围以下 -> JSoup、Jerry、JTidy(最后更新于 2009-12-01)。哪一个是最好的性能明智的?
编辑:改写问题。添加了入围库。
如果你喜欢 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 行代码解决您的问题。
如果你想抓取页面并解析它,我建议使用带有 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;
}
});
JTidy 非常擅长解析 DOM。
如果您追求的是选择器引擎,那么Sizzle是您最好的选择。它是 jQuery 使用的引擎。
为每个 div 提供唯一的 id 并使用 document.getElementById(id) 获取