私はOgaというXML/HTMLパーサーを使用しています。互換性のない文字エンコーディング:Oga gemのASCII-8BITとUTF-8
私はこのURLをクロールしようとしています:私はこのエラーを取得すると
def get_page
body = Net::HTTP.get(URI.parse(@url))
document = Oga.parse_html(body)
end
document = get_page
words = document.css('body').text
:http://www.johnvanderlyn.comをし、テキストの本文を解析し、そのようにこれに関連している
/gems/oga-2.7/lib/oga/xml/node_set.rb:276:in block in text': incompatible character encodings: ASCII-8BIT and UTF-8 (Encoding::CompatibilityError)
これを引き起こしている可能性がありますが、どうすれば修正できますか?ローカルで修正する方法はありますか?それとも、宝石をフォークし、その方法を修正してフォークを使用する必要がありますか?
思考?
私は問題なく上記のコードを実行しました。リンクしたコードの一部は、グリッチとは関係がありません。つまり、 'body'の問題が間違ったエンコーディングで解釈されています。ドキュメントを解析する前に、 'body = body.force_encoding 'UTF-8''を試してみてください。 – mudasobwa
@mudasobwaパーフェクト。それはすごくうまくいく。それを答えとして加えれば、私はそれを受け入れます! – marcamillion