2020 年 11 月更新
我搜索了顶级 NodeJS html 解析器库。
因为我的用例不需要具有许多功能的库,所以我可以专注于稳定性和性能。
稳定性是指我希望该库能够被社区使用足够长的时间以发现错误,并且仍将对其进行维护,并且将关闭未解决的问题。
很难理解一个开源库的未来,但我根据openbase中的前10个库做了一个小总结。
我根据最后一次提交分成了2组(每组的顺序是根据Github开始的):
最后一次提交是在过去 6 个月内:
jsdom - Last commit: 3 Months, Open issues: 331, Github stars: 14.9K。
htmlparser2 - Last commit: 8 days, Open issues: 2, Github stars: 2.7K.
parse5 - Last commit: 2 Months, Open issues: 21, Github stars: 2.5K.
swagger-parser - Last commit: 2 Months, Open issues: 48, Github stars: 663.
html-parse-stringify - Last commit: 4 Months, Open issues: 3, Github stars: 215.
node-html-parser - Last commit: 7 days, Open issues: 15, Github stars: 205。
最后一次提交是 6 个月及以上:
cheerio - Last commit: 1 year, Open issues: 174, Github stars: 22.9K.
koa-bodyparser - Last commit: 6 months, Open issues: 9, Github stars: 1.1K。
sax-js - Last commit: 3 Years, Open issues: 65, Github stars: 941.
draftjs-to-html - Last commit: 1 Year, Open issues: 27, Github stars: 233.
我选择 Node-html-parser 是因为它现在看起来很安静而且非常活跃。
(*) Openbase 添加了有关每个库的更多信息,例如贡献者数量(+3 次提交)、每周下载量、每月提交量、版本等。
(**) 上表是根据具体时间和日期的快照 - 我会再次检查参考,作为第一步,检查最近的活动水平,然后深入了解较小的细节。