NodejsにRubyの nokogiri のようなものはありますか?つまり、ユーザーフレンドリーなHTMLパーサーです。
Node.jsモジュールのページでいくつかのパーサーを見ましたが、きれいで新鮮なものを見つけることができません。
cheerio もあり、 jQuery インターフェースを持ち、jsdomの古いバージョンよりもずっと高速ですが、最近ではパフォーマンスが似ています。
ストリーミングパーサーである htmlparser2 をご覧になることをお勧めします。そのベンチマークによると、他よりも高速で、デフォルトではDOMはありません。また、DOMを作成するハンドラーにバンドルされているため、DOMを生成することもできます。これは、cheerioが使用するパーサーです。
parse5 も良い解決策のようです。かなりアクティブ(この更新時点での最後のコミットから11日間)で、WHATWGに準拠し、 jsdom 、 Angular 、および Polymer で使用されます=。
webスクレイピング のHTMLを解析する場合は、 YQL を使用できます。 ノードモジュール があります。 YQLは、HTMLが static Webサイトからのものである場合に最適なソリューションになると思います。これは、独自のコードや処理能力ではなく、サービスに依存しているためです。 Webサイトのrobot.txtでページが許可されていない場合は機能しませんが、YQLは機能しません。
スクレイピングしようとしているWebサイトが dynamic である場合、 phantomjs のような headless browser を使用する必要があります。 phantomjsを検討している場合は、 casperjs もご覧ください。そして、 SpookyJS を使用してノードからcasperjsを制御できます。
Phantomjsの横に zombiejs があります。 nodejsに埋め込むことができないphantomjsとは異なり、zombiejsは単なるノードモジュールです。
後者のソリューションには nettuts + toturial があります。
https://github.com/tmpvar/jsdom を試してください-HTMLをいくつか与えると、DOMが得られます。
また、X線を見ることができます: https://github.com/lapwinglabs/x-ray