« 電源の轟音その後 | トップページ | やっとRuby の素晴らしさを実感 »

2010年3月26日 (金)

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 用のライブラリが準備されているものですね。
ありがたや。

 

|

« 電源の轟音その後 | トップページ | やっとRuby の素晴らしさを実感 »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/193783/47916970

この記事へのトラックバック一覧です: Nokogiri がまったく切れなくなたっと思ったら:

« 電源の轟音その後 | トップページ | やっとRuby の素晴らしさを実感 »