Far*_*hat 433
还有cheerio,它有jQuery界面,它比旧版本的jsdom快很多,虽然现在它们的性能相似.
你可能想看看htmlparser2,这是一个流解析器,根据它的基准测试,它似乎比其他更快,默认情况下没有DOM.它还可以生成DOM,因为它还与创建DOM的处理程序捆绑在一起.这是cheerio使用的解析器.
parse5看起来也是一个很好的解决方案.它相当活跃(自本次更新后最后一次提交后11天),符合WHATWG标准,并在jsdom,Angular和Polymer中使用.
如果要解析用于Web抓取的 HTML ,可以使用YQL.它有一个节点模块.如果您的HTML来自静态网站,我认为YQL是最好的解决方案,因为您依赖的是服务,而不是您自己的代码和处理能力.虽然注意到如果网站的robot.txt禁止该页面它将无法工作,YQL将无法使用它.
如果您想要抓取的网站是动态的,那么您应该使用像phantomjs这样的无头浏览器.也看看casperjs,如果你正在考虑phantomjs.您可以使用SpookyJS从节点控制casperjs.
除了幻影之外还有zombiejs.与无法嵌入nodejs的phantomjs不同,zombiejs只是一个节点模块.
后一种解决方案有一个nettuts + toturial.