Amazonから取得できる書籍データの数はどれくらいになるのか?
ソース
下記のようなプログラムを作成し各出版社毎にAmazonから取得できる書籍データの数が
どのくらいあるのか調べてみる。
出版社一覧(isbn_publisher_code.csv)から出版社を取得し、各出版社名でAmazonを検索し取得できる書籍データ数を調べる。
require 'rubygems' require 'amazon/ecs' class AmazonBatch def initialize(accessKeyId,associateId,country,debug) @debug = debug @accessKeyId = accessKeyId @associateId = associateId @country = country Amazon::Ecs.options = { :aWS_access_key_id => [@accessKeyId], :associate_tag => @associateId, :country => @country } Amazon::Ecs.debug = debug end # def searchAll() publishers = getPublisherArray i=0 while i < publishers.length publisherCode,publisherName = publishers[i] page = 1 res = Amazon::Ecs.item_search('',{:item_page => page, :response_group => 'Medium', :publisher => publisherName}) print "#{publisherName},#{res.total_results}\n" # 1秒間に1リクエストの制限があるので、取りあえず1秒待つ sleep(1) i+=1 end end def getPublisherArray array = Array.new File::open("isbn_publisher_code.csv") {|f1| f1.each {|line| line.chomp! array.push(line.split(",")) } } return array end end bat = AmazonBatch.new("ここにアクセスキーIDを設定","ここにアソシエイトIDを設定","jp",false) bat.searchAll
isbn_publisher_code.csvは下記のようなデータ
12,677件の出版社名が入っている。
00,岩波書店 01,旺文社 02,朝日新聞社 03,偕成社 04,角川書店 05,学習研究社 06,講談社 07,主婦の友社 08,集英社 ・ ・ ・ ・ ・ 9980841,多摩ネットワークセンター 9980911,大陸の対話社 9980914,玉井道敏 9980928,FOTO ARTE MAHIA 9980932,第4回国際流体力学会議組織委員会
プログラムの実行結果
岩波書店,30602 旺文社,9854 朝日新聞社,11883 偕成社,7459 角川書店,33331 学習研究社,16381 講談社,100838 主婦の友社,7039 集英社,46245 ・ ・ ・ ・ ・ 多摩ネットワークセンター,0 大陸の対話社,0 玉井道敏,0 FOTO ARTE MAHIA,0 第4回国際流体力学会議組織委員会,0
Amazon.co.jpから取得できる書籍データ数
プログラムの実行結果の出版社毎の書籍データ数を合計すると
amazon.co.jpから取得できる書籍データの数は3,584,005件になる。
取得結果が結果が0件になっている出版社があるので取得方法でマズい部分があるのかも?
あとamazonからのレスポンスのエラーも見ていないので
0件になっている出版社はそういうことが原因かも?
使った出版社のデータに含まれていない出版社もあるので
実際はこのプログラムで取得できた件数以上になるのは確かだ。