0

誰かがこれを見てもらえますか。この呼び出しを行うときに無効な UTF-8 文字があると思います。

Nokogiri::HTML(open("http://www.next.co.uk/x502062s2"))

これを回避する方法があれば?で、これが本題?私は、製品情報をキャプチャする (サイトがフィードを提供しない場合) ために設計された新しいオープン ソース スクリーン スクレーパーを書いています。

4

1 に答える 1

2

Nokogiri に何かを渡す前に、ページのコンテンツをエンコードし、Iconv を使用してすべての無効な UTF 文字を無視できます。

私はこのようにそれを使用していました:

ic = Iconv.new('UTF-8//IGNORE', 'UTF-8')
valid_string = ic.iconv(open('http://example.com').read)

また、「 Ruby で無効な UTF-8 を修正する、再訪」も確認できます。

于 2012-08-09T21:38:02.063 に答える