1

GB2312 でエンコードされたページ ( http://news.qq.com/a/20140824/015032.htm ) を解析しようとしていますが、これが私のコードです。

私はまだ解析部分に入っておらず、開いて読んでいるだけで、エラーが発生しました。

これは私のコードです:

require 'open-uri'
open("http://news.qq.com/a/20140824/015032.htm").read

そして、これはエラーです:

Encoding::InvalidByteSequenceError: "\x8B" on GB2312

Ruby 2.0.0p247 を使用しています

解決策はありますか?

4

3 に答える 3

1

を呼び出したときにこれが発生する理由は正確にはわかりません.readが、Nokogiri を使用している場合は回避できます。を呼び出さずに、ファイル オブジェクトを直接 Nokogiri に渡すだけです.read

require 'open-uri'
file = open("http://news.qq.com/a/20140824/015032.htm")
document = Nokogiri(file)
于 2014-08-25T01:40:20.863 に答える