Changelog
2.0.3 (2024-12-16)
添加了更简洁的调用方式,现在可以直接在 Cheerio 实例上调用 parse
方法!
$.parse()
方法:直接在 Cheerio 实例上调用,无需传递 $
参数parse(rule, $)
语法仍然完全支持// ✅ 新的简化语法
const $ = loadCheerio(html);
const title = $.parse('.title');
const data = $.parse({ title: '.title', items: '[.item]' });
// ❌ 传统语法(仍然支持)
const title2 = parse('.title', $);
$.parse()
方法基础功能测试Changelog
2.0.2 (2024-12-16)
继续优化项目,移除价值有限的语法糖,专注于真正有价值的功能。
selector[.class]
→ 直接使用标准 CSS selector.class
div[.active]
改为 div.active
selector[.class]
语法糖支持selector.class
// ❌ 旧语法(已移除)
parse('div[.active]', $)
// ✅ 新语法(推荐)
parse('div.active', $)
Changelog
2.0.1 (2024-12-16)
这是 2.0.0 的优化版本,完成了彻底的重构工作,移除了与 Cheerio 原生功能重复的实现,专注于提供真正有价值的语法糖和过滤器功能。
Changelog
2.0.0 (2024-12-16)
这是一个重大版本更新,重构了整个项目架构,移除了与 Cheerio 原生功能重复的实现,专注于提供真正有价值的语法糖和过滤器功能。
selector@attribute
- 直接提取属性值[selector]
- 获取所有匹配元素selector[.class]
→ selector.class
:not-empty
→ :not(:empty)
selector | filter1 | filter2
- 链式数据处理{ title: 'h1', price: '.price | float' }
['[.item]', { name: '.name' }]
现在直接使用 Cheerio 原生支持,性能更优:
:first
, :last
, :empty
, :contains()
, [attr]
, [attr=value]
)parent > child
)condition
和 nested
字段)对于大多数用户,这次更新是向后兼容的。标准的 CSS 选择器和过滤器功能无需修改代码。
之前的用法仍然有效:
parse('h1', $) // ✅ 完全兼容
parse('[.item]', $) // ✅ 完全兼容
parse('a@href', $) // ✅ 完全兼容
parse('.price | float', $) // ✅ 完全兼容
Changelog
1.0.6 (2025-06-16)
this.eq()
方法替代直接构造函数调用,解决了 "Class constructor LoadedCheerio cannot be invoked without 'new'" 错误src/cheerio/plugin.js
中的 extract
和 extractAll
方法