最佳答案
还有cheerio ,它有 jQuery接口(interface),它比旧版本的 jsdom 快得多,尽管现在它们的性能相似。
您可能想看看 htmlparser2 ,这是一个流式解析器,根据它的基准,它似乎比其他的更快,并且默认没有 DOM。它还可以生成 DOM,因为它还与创建 DOM 的处理程序捆绑在一起。这是cheerio使用的解析器。
parse5看起来也是一个不错的解决方案。它相当活跃(自本次更新的最后一次提交以来 11 天),符合 WHATWG,并在 jsdom 中使用, Angular , 和 Polymer .
如果您要抓取的网站是 dynamic那么你应该使用 headless browser喜欢 phantomjs .也看看casperjs ,如果你正在考虑 phantomjs。您可以使用 SpookyJS 从 Node 控制 casperjs .
在 phantomjs 旁边有 zombiejs .与不能嵌入nodejs的phantomjs不同,zombiejs只是一个node模块。
有一个 nettuts+ toturial对于后一种解决方案。
关于Node.js 上的 HTML 解析器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7977945/