Mae向きなブログ

Mae向きな日記のブログ版。ようやくこちらに移行してきました。

名言集.com

『名言集.com*1』にはまってしまいました。名言を読みながら,「なるほど,なるほど」と思ったり,「これ,いいなぁ」と思ったりして,気づいたら結構,時間が過ぎています。
名言を読みながら,実はだらだらしていたりするというおかしな状況なので,手軽にコマンドラインからランダム名言を読むことができれば面白いと思ったのでRubyで作ってみました。といっても10行ちょっとです。

meigen.rb

nokogiriを使っています。nokogiriもXPathについても理解が不十分ですので,以下のような書き方で良いのか分かりません。

# -*- coding: utf-8 -*-
require 'rubygems'
require 'nokogiri'
require 'open-uri'

Url = 'http://www.meigensyu.com/quotations/view/random'

doc = Nokogiri::HTML(open(Url))

meigen = doc.xpath('//div[@class="meigenbox"]')[0]
# puts "『" + meigen.xpath('//div[@class="text"]')[0].inner_text + "』"
puts "" + meigen.xpath('.//div[@class="text"]')[0].inner_text + ""
# puts "--- " + meigen.xpath('//div[@class="link"]')[0].inner_text
puts "--- " + meigen.xpath('.//div[@class="link"]')[0].inner_text

実行結果

$ ruby meigen.rb
『未来を予測する最善の方法は、自らそれを創りだすことである』

ランダムに選んだ名言がアラン・ケイのものなんて運がいい!
もう一回実行すると,

$ ruby meigen.rb
『時間の価値を知れ。 あらゆる瞬間をつかまえて享受せよ。 今日出来る事を明日まで延ばすな。』

思わず,「ハイ!」と言ってしまいそうになります(^^)。調子に乗ってもう一回実行すると,

$ ruby meigen.rb
『努力する人は希望を語り、怠ける人は不満を語る』

いやぁ,深いです。。実行しだすと止まりません。最後です。

$ ruby meigen.rb
『小さいことを積み重ねるのが、とんでもないところへ行くただひとつの道だと思っています』

コツコツ勉強したいと思います!

追記

id:otnさん,コメントありがとうございます。勉強になりました! meigen.rbを書き換えました。コメントアウトの部分が間違っていた部分です。