Node.js上的html解析器

nodejs上有Ruby的nokogiri之类的东西吗? 我的意思是一个用户友好的html解析器

我在Node.js模块页面上看到了一些解析器,但我找不到一些漂亮和新鲜的东西。

168733 次浏览

尝试https://github.com/tmpvar/jsdom -你给它一些HTML,它给你一个DOM。

如果你想构建DOM,你可以使用jsdom

还有恭喜恭喜,它有jQuery接口,它比旧版本的jsdom快得多,尽管现在它们的性能相似。

你可能想看看htmlparser2,这是一个流解析器,根据它的基准测试,它似乎比其他的更快,默认情况下没有DOM。它还可以生成DOM,因为它还与创建DOM的处理程序绑定在一起。这是cheerio使用的解析器。

parse5看起来也是一个不错的解决方案。它是相当活跃的(截至此更新,距离上次提交已有11天),符合whatwg,并在jsdom聚合物中使用。

如果你想要抓取的网站是动态,那么你应该使用phantomjs这样的无头的浏览器。如果你在考虑phantomjs,还可以看看casperjs。你可以用SpookyJS从节点控制casperjs。

在phantomjs旁边有zombiejs。与无法嵌入到nodejs中的phantomjs不同,zombiejs只是一个节点模块。

后面的解决方案有nettuts + toturial