Nokogiri がまったく切れなくなたっと思ったら
この頃、Ruby でプログラムしていますが、わからないことが多くてなかなか良い頭の運動になります。
特に、どうしてもなれないのが、 if --- end です。やはり { ----- } にしてもらいたいです。
括弧ならば、テキストエディタが対応する括弧を表示してくれるので、対がはっきり割って助かります。第一、C,C++でず~っと体にしみこんでいます。
Ruby はまだまだ浸み込んでいません。まぁ、第一ここ数年PGらしいことをやっていないので仕方ありません。
そんなこの頃、Mechanize を使って Web ドキュメントを取得して、内蔵されている Nokogiri でパースしているのですが、まったくパースできなくなりました。
serch も、name も、text も,root もすべて method がないといいます。
まったくもって弱ってしまいました。仕方ないので、 open でresponse を取得して、ほかのパーサーに放り込んだのですが、こちらは実行エラーになります。
いよいよ困ったのですが、やれば何とかなるものです。
Mechanize は、html ドキュメント以外を取得すると、取得結果が file になって、パーサは使えないようです。
それで、取得結果をストリームにして(文字列 String に変換)それをパーサに食わせればOK。
この時、require 'rss/parser' のみだと、前述のようにストリームを取り込めません。
require 'rss' が必要です。
今回、 RSS をパースしたかったので、標準ライブラリ RSS でパースします。
XML なので、Mechanize で直接パースできなかったようです。
決して、Nokogiri が切れなくなったわけではありません。
まあ、いろいろと Web 用のライブラリが準備されているものですね。
ありがたや。
| 固定リンク


コメント