Techioz Blog

Rubyコアライブラリを使用してHTMLを解析しますか? (つまり、宝石は必要ありません)

概要

何人かの友人と私は、大学のマシンでの作業を容易にする一連のスクリプトの開発に取り組んでいます。これらのツールの 1 つは現在 Nokogiri を使用していますが、これらのツールをできるだけ少ないセットアップですべてのマシンで実行できるようにするために、ユーザーに RVM とカスタム gem のインストールを要求するのではなく、「ネイティブ」HTML パーサーを見つけようとしています (ほとんどのユーザーのディスク容量に制限があるため)。

ほぼ Nokogiri/Hpricot/ に限定されていますか?ニーズに合った独自のカスタム パーサーを作成することだけを考えるべきでしょうか?

乾杯。

編集: 検索で見逃した投稿がここにある場合は、お知らせください。それで。サイズが大きすぎて効果的に検索できない場合があります…

解決策

Ruby の stdlib には HTML パーサーがありません HTML パーサーは、XML パーサーよりも不正なマークアップを許容する必要があります

HTML をきちんと実行することもできます (http://tidy.sourceforge.net) HTMLを整理して有効なマークアップを生成する これは、stdlib にある rexml 経由で読み取ることができるようになりました:-)

rexml は nokogiri よりもはるかに遅い (最後にチェックされたのは 2009 年) Sam Ruby は rexml を高速化することに取り組んでいましたが、

より良い方法は、より良い展開を行うことです http://gembundler.com/bundle_package.html を参照し、capistrano (またはそのようなもの) を使用してサーバーをプロビジョニングしてください。