<commit_before>require 'amazon/ecs'
require 'json'

## Amazon API 1時間につき2,000リクエスト

class AmazonConnecter

  File.open './config/application.json' do |file|
    conf = JSON.load(file.read)
    @amazon_conf = conf["Amazon"]
  end

  Amazon::Ecs.options = {
      :associate_tag => @amazon_conf["associate_tag"],
      :AWS_access_key_id => @amazon_conf["AWS_access_key_id"],
      :AWS_secret_key => @amazon_conf["AWS_secret_key"]
  }

  # タイトルのリストを受け取り 10件ずつ商品のリストを返す
  # https://images-na.ssl-images-amazon.com/images/G/09/associates/paapi/dg/index.html?ItemSearch.html
  # ItemSearch は、一度に最大で10個の検索結果を返します。
  def search(title)
    # sort param
    # https://images-na.ssl-images-amazon.com/images/G/09/associates/paapi/dg/index.html?APPNDX_SortValuesArticle.html
    # JA SORT
    # https://images-na.ssl-images-amazon.com/images/G/09/associates/paapi/dg/index.html?APPNDX_SortValuesArticle.html
    # SearchIndex: DVD
    # salesrank
    res = Amazon::Ecs.item_search(title, :item_page => 1, :country => "jp", :sort => 'salesrank', :search_index => 'DVD')
    # 返ってきたXMLを表示（res.doc.to_sでも多分OK）

    res.items.each do |item|
      # TODO タイトル　値段　画像 商品種別(CD/DVD)
      puts item.get_elements("./ASIN")
      puts item.get("ItemAttributes/Title")
    end
  end


  # Kafkaから受信するタイトルリストは４つの想定
  # API 4 CALL
  title_list = ['ラブライブ', 'ニセコイ', '俺ガイル', 'アルスラーン戦記']
  title_list.each do |title|
    puts title
    AmazonConnecter.new.search(title)
  end


  # http://www.amazon.co.jp/dp/4839947591/?tag=XXXXXX-22

end<commit_msg>aw fix<commit_after>require 'amazon/ecs'
require 'json'

## Amazon API 1時間につき2,000リクエスト

class AmazonConnecter

  File.open './config/application.json' do |file|
    conf = JSON.load(file.read)
    @amazon_conf = conf["Amazon"]
  end

  Amazon::Ecs.options = {
      :associate_tag => @amazon_conf["associate_tag"],
      :AWS_access_key_id => @amazon_conf["AWS_access_key_id"],
      :AWS_secret_key => @amazon_conf["AWS_secret_key"]
  }

  # タイトルのリストを受け取り 10件ずつ商品のリストを返す
  # https://images-na.ssl-images-amazon.com/images/G/09/associates/paapi/dg/index.html?ItemSearch.html
  # ItemSearch は、一度に最大で10個の検索結果を返します。
  def search(title)
    # sort param
    # https://images-na.ssl-images-amazon.com/images/G/09/associates/paapi/dg/index.html?APPNDX_SortValuesArticle.html
    # JA SORT
    # https://images-na.ssl-images-amazon.com/images/G/09/associates/paapi/dg/index.html?APPNDX_SortValuesArticle.html
    # SearchIndex: DVD
    # salesrank
    res = Amazon::Ecs.item_search(title, :item_page => 1, :country => "jp", :sort => 'salesrank', :search_index => 'DVD', :response_group => 'Medium')
    # 返ってきたXMLを表示（res.doc.to_sでも多分OK）

    # レスポンス要素
    # https://images-na.ssl-images-amazon.com/images/G/09/associates/paapi/dg/index.html?CHAP_response_elements.html
    # http://www.ajaxtower.jp/ecs/responsegroup/index12.html
    res.items.each do |item|
      # TODO タイトル　値段　画像 商品種別(CD/DVD)
      # http://www.ajaxtower.jp/ecs/
      puts item.get_elements("./ASIN")
      puts item.get("ItemAttributes/Title")
      puts item.get("ItemAttributes/ListPrice/FormattedPrice")
      puts item.get("ItemAttributes/ReleaseDate")
      puts item.get("LargeImage/URL")
      puts item.get("ASIN")
    end
  end


  # Kafkaから受信するタイトルリストは４つの想定
  # API 4 CALL
  title_list = ['ラブライブ', 'ニセコイ', '俺ガイル', 'アルスラーン戦記']
  title_list.each do |title|
    puts title
    AmazonConnecter.new.search(title)
  end


  # http://www.amazon.co.jp/dp/4839947591/?tag=XXXXXX-22

end
{'fraction_non_alphanumeric': 0.14672036823935558, 'fraction_numerical': 0.018411967779056387, 'mean_word_length': 3.62982689747004, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 18, 'https://': 7, 'lorem ipsum': 0, 'www.': 4, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4358577', 'n_tokens_mistral': 1529, 'n_tokens_neox': 1459, 'n_words': 182}