ネット上のサンプルコードを参考にして、アマゾンのランキングを取得してみたのですが、1位から4位で止まってしまいます。
どこが間違っているのでしょうか?

require 'open-uri'
require 'nokogiri'
require 'sqlite3'
db = SQLite3::Database.new('books.db')
db.execute('DROP TABLE amazon')
db.execute('CREATE TABLE IF NOT EXISTS amazon (title varchar(200), auther varchar(100));')
url = "http://www.amazon.co.jp/(ランキング)"
user_agent = 'Chrome'
charset = nil
html = open(url, "User-Agent" => user_agent) do |f|
charset = f.charset
f.read
end
doc = Nokogiri::HTML.parse(html, nil, charset)
doc.xpath("/html/body/div[1]/div[2]/div[4]/div[2]/div/div[2]/div/ul/li/div/div/div/div[2]/div[1]").each do |title|
puts title.xpath("a/h2").text
puts title.xpath("div/span[2]").text
db.execute 'INSERT INTO amazon values ( ?, ? );', ["#{title.xpath("a/h2").text}", "#{title.xpath("div/span[2]").text}"]
end

Webスクレイピングを用いたデータ検索クローラ構築入門
(アドレスが長すぎるため省略)