在DIV HTML中遍历或查找元素的最快方式
Fastest way to traverse or find elements in DIV HTML
我正在编写一个实用程序,它应该击中动态页面的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)
相关文章:
- 如何制作链接到网页特定元素的桌面快捷方式
- 列出每行2个元素的最佳方式是按角度重复ng
- 在jQuery中,创建和附加元素的方式更快
- 在滚动中旋转元素,哪种方式最轻
- 在保持元素一致性的同时旋转数组元素的最佳方式'id
- 安装后以程序方式关注形状元素
- 预隐藏元素是最容易访问的方式
- 在选定元素中上下移动选项的方式
- 迭代JSON对象并将元素打印到屏幕上的最佳方式是什么
- 复制元素的最佳方式是:只复制元素的类型和属性
- 如何查找数组中所有出现的元素的索引(Ramda.js方式)
- 我如何使用JavaScript(jQuery)在HTML中以传统方式创建元素的副本作为新元素
- 使用 jQuery 创建嵌套 HTML 元素的最佳方式
- 以最有效的方式剪切和粘贴数组元素
- Drupal 7 Field API:如何以编程方式发送表单元素属性 #ajax 指定的AJAX请求
- 无法设置未定义的 - 以编程方式创建的元素的属性 X
- “防止”以编程方式单击元素
- 如何以不同的方式设置每行/行的每个最后一个元素的样式
- 在内容可编辑元素上按 Enter 时插入 BR 或 P 标签的跨浏览器方式
- 以编程方式单击 UIWebView 中的“提交”按钮(无元素 ID、名称、类或标记)