2

私はHTMLを読むためにhpricotを使用しています。セグメンテーション違反エラーが発生しました。グーグルで検索し、最新バージョンのRubyにアップグレードすると言う人もいます。レール2.3.2とルビー1.8.7を使用しています。このエラーを解決するにはどうすればよいですか?

4

7 に答える 7

5

多くのUnicode文字を含むHTMLページを解析しようとしましたが、Hpricotがクラッシュし続けました。最後に、sanitizeのモンキーパッチを使用して、railsアプリケーションのenvironment.rbに配置しました。このパッチを追加して以来、クラッシュは1回も発生していません。

http://github.com/rgrove/sanitize/blob/1e1dc9681de99e32dc166f591343dfa60fc1f648/lib/sanitize/monkeypatch/hpricot.rb

于 2009-09-03T19:11:53.283 に答える
4

HTML解析ライブラリを自由に選択できる場合は、それを切り替えてください。なぜ、Hpricotの作成者は、最近、HPricotの代わりにNokogiriを使用する方がよいと投稿しました。

HTTPartyもご覧ください。

于 2009-07-25T11:42:31.520 に答える
2

ルビー1.8.5では、hpricot-v0.6.161を使用してみてください

それは私のために働いた。

于 2011-05-13T08:32:32.690 に答える
1

記憶から、私が最後にそれを約1年前に使用して以来:

Hpricotは属性を固定サイズのバッファーに格納し、一部のフレームワークはドキュメント属性に非常に長いハッシュを生成します。このバッファのサイズを設定できる、解析前に設定できる静的フィールドがいくつかあります。

もちろん、今はなくなっていますが、Webページのドキュメントでかなり目立つことを覚えています。

于 2009-08-26T17:25:11.227 に答える
0

さて、あなた自身の質問に基づいて、私は「Rubyの最新バージョンにアップグレードする」と言います。しかし、私はhpricot segfaultingにも問題がありました。これは、私のスレッドの使用法に関連しているようです。

于 2009-05-30T22:17:17.477 に答える
0

これは、バグ リストの未解決の問題のようです。まで経験しました。私の理論は、ファイル内の HTML 構造または悪い/破損した文字に関係しているのですが、正確にどこにあるのかわかりません。

問題へのリンクは次のとおりです。

于 2009-06-20T02:35:31.087 に答える
0

私は同じセグメンテーションの問題を抱えていますが、悲しいことに、Googleキャッシュを介しても、上記のデイブが引用した問題を調べることはできません。文字はおそらく)

サニタイズ ライブラリでも同じ問題が発生し、ここにモンキー パッチを投稿しました: http://github.com/rgrove/sanitize/blob/1e1dc9681de99e32dc166f591343dfa60fc1f648/lib/sanitize/monkeypatch/hpricot.rb

于 2009-08-26T17:03:47.043 に答える