Permalink
Browse files

Merge pull request #14 from banyan/add-ruby-hacking-guide

add script for "Rubyソースコード完全解説 (Ruby Hacking Guide)"
  • Loading branch information...
2 parents 1a856aa + 4febf91 commit 020eac883e1f0e402665cc72b5364a19330ac81e @mizzy committed Jul 12, 2012
Showing with 30 additions and 0 deletions.
  1. +30 −0 misc/ruby_hacking_guide.rb
View
30 misc/ruby_hacking_guide.rb
@@ -0,0 +1,30 @@
+# -*- coding: utf-8 -*-
+%w(uri json nokogiri curb cgi).each {|g| require g }
+
+root = 'http://i.loveruby.net/ja/rhg/book/'
+book = {
+ :title => 'Rubyソースコード完全解説',
+ :authors => [ 'Minero Aoki' ],
+ :cover_image => 'http://direct.ips.co.jp/directsys/Images/Goods/1/1721B.gif',
+ :content_xpath => '//body',
+ :chapters => []
+}
+
+def curl(url)
+ c = Curl::Easy.new(url.to_s)
+ c.follow_location = true
+ c.perform
+ c.body_str
+end
+
+doc = Nokogiri::HTML(curl(root))
+doc.xpath('//ul/li/a').each do |a|
+ chapter_url = URI(root) + a[:href]
+ chapter = {
+ :uri => chapter_url,
+ :title => a.text,
+ }
+ book[:chapters] << chapter
+end
+
+puts JSON.pretty_generate(book)

0 comments on commit 020eac8

Please sign in to comment.