###質問内容
nokogiriを仕様してスクレイピングをしています。
プライベートなサイトを対象にしているので、サイトの構造を詳しくは書けませんが、
Shift-JISのサイトで、定期的に文章を取得するプログラムを作っています。
ある時、普段と同じような文章なのに、その文章だけ「㎏」という文字が出現した以降の文章が全て空になっていることがありました。
今まで㎏という文字が使われていた文章をparseしたことがなかったのですが、なぜかその文章だけがその文字までしか読み込めなかったのです。
これは何が原因なのでしょうか。
nokogiriと相性がわるい文字が存在するなんてことがあり得るのでしょうか。
もしそうだとすればどのような対策をとるべきでしょうか。。
文字の扱いに疎いので、上記の質問、または参考になるサイトの紹介をしていただけたら幸いです。
###該当のソースコード
ソースコードは平凡なものなのであまり意味がないかもしれませんが念のため。
require 'open-uri' require 'nokogiri' charset = "Shift_JIS" html = open(url, 'User-Agent' => 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.52 Safari/537.36i') do |f| f.read # htmlを読み込んで変数htmlに渡す end sleep(1) doc = Nokogiri::HTML.parse(html, nil, charset) doc.xpath('//div[@class="report"]').each do |node| str = node.inner_text end
###使用している環境
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin15]
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/02/05 07:39